Articles of unix

是否有可以运行的操作系统命令来确定是否在基于Xen的虚拟机中运行

是否有一个操作系统的命令,我可以在一个基于Xen的虚拟机内运行,告诉我这是一个虚拟的盒子,而不是一个物理盒子 – 我听说内核有一些自我意识的智慧。 例如像“PS”输出中的额外列或什么? [我知道vmstat提供了“st”列,但是我已经在运行Linux Kernel 2.6.11以及更高版本的物理主机盒上看到了这一点)。 非常感谢, 保罗

什么是“高度非自愿的背景”开关意味着什么?

我用 C语言重写了一部分代码。使用getrusage(2) C APItesting资源使用情况。 在更改代码之前: user time (ms): 21503 system time (ms): 372 involuntary context switches: 20 改变之后: user time (ms): 25589 system time (ms): 80732 involuntary context switches: 821 我看到很多involuntary context switches都是在我重写的代码中完成的。 我的问题不是关于如何减less上下文切换。 但.. 当“非自愿的上下文切换”更多时会发生什么? 它会以什么方式影响系统? PS:没有任何东西正在写入磁盘上没有活动。 它只是多次ping服务器。 更新: 增加了系统和用户的时间。 程序是multithreading的。 两种情况下都会产生相同数量的线程(3k线程)。 只有C中的底层API正在被重写。

为什么在将一堆二进制数据转储到我的terminal后,我的按键会变成疯狂的字符?

如果我做这样的事情: $ cat /bin/ls 进入我的terminal,我明白为什么我看到一堆二进制数据,代表ls可执行文件。 但事后,当我得到我的提示时,我自己的击键看起来很疯狂。 我键入“a”,我得到一个奇怪的对angular线。 我input“b”,然后获得学位符号。 为什么会这样呢?

shell脚本工作正常,没有shebang线? 为什么?

我正在写一个简单的shell脚本,发现我的shell脚本不需要shebang行 #!/bin/sh 如果我给予我的脚本执行权限并执行使用./myscript.sh 。 它运行良好。 我正在使用bash shell, /bin/sh实际上是指向bash 。 lrwxrwxrwx 1 root root /bin/sh -> bash 我知道shebang行用于告诉shell哪个解释器用于脚本的其余部分。 如果我错过了perl中的shebang行,给予执行权限并运行./myscript.pl ,它不起作用。 这里究竟发生了什么? 如果我用./ ,什么时候真的需要?

为什么创build系统调用叫做creat?

为什么创build系统调用叫做creat ? 另外,为什么一个缓冲区大小的定义被称为BUFSIZ而不是BUFSIZE ? 还有其他的例子吗? 相关:(取自评论) 肯·汤普森(Ken Thompson)说:“我会拼写一个'e'。

在Linux中将物理地址转换为虚拟并读取其内容

我有Linux和我有一个物理地址:(即0x60000000)。 我想从用户空间的Linux程序读取这个地址。 这个地址可能在内核空间中。

在gcc中有作为内置macros的非保留标识符的原因是什么?

今天我偶然发现了一个相当有趣的编译器错误: int main() { int const unix = 0; // error-line return unix; } 给gcc 4.3.2(是的,古老的)以下消息: error: expected unqualified-id before numeric constant 这绝对是相当混乱。 幸运的是,铿锵声(3.0)是一个更有帮助(像往常一样): error: expected unqualified-id int const unix = 0 ^ <built-in>:127:14: note: expanded from: #define unix 1 ^ 我当然没有想到unix ,它既不是大写字母,也不是从下划线开始,成为一个macros,特别是一个内置macros。 我检查了gcc中的预定义macros,并且有2个(在我的平台上)使用“非保留”符号: $ g++ -E -dM – < /dev/null | grep -v _ […]

用linuxterminal执行升华的麻烦

我知道有几个类似的问题已经被问到,但似乎没有人帮助我,所以在这里。 我在Linuxterminal上使用'subl'时试图获得崇高的运行,但我却无法使其工作。 我试过了 sudo ln -s /Applications/Sublime\ Text\ 2/sublime_text usr/bin/subl 而且确实创build了正确的文件,所以它似乎,但是当我使用subl命令它说'没有命令'subl'find。 现在我已经安装了rvm,所以这可能会有所作为。 我也试过'usr / local / bin / subl',结果是一样的。 我甚至用上面的命令使用了rvmsudo,它说文件已经创build了,但subl命令仍然不起作用。 我在这里错过了什么? 请记住,我是a)新的linux b)新的崇高。 运行Ubuntu 12.10如果有关系

1小时前修改的文件列表

嗨,我想在60分钟内修改文件的列表。 bash-3.2$ find . -mmin 60 -type f find: bad option -mmin find: [-H | -L] path-list predicate-list bash-3.2$ /usr/xpg4/bin/find . -mmin 60 -type f /usr/xpg4/bin/find: bad option -mmin /usr/xpg4/bin/find: [-H | -L] path-list predicate-list bash-3.2$ utibbwdev1#uname -a SunOS utibbwdev1 5.10 Generic_150400-13 sun4v sparc SUNW,T5240 我收到上述错误。 我的操作系统是太阳版5.10。

即使文件存在,c – fopen也会返回NULL

我试图fopen()在一个完整的UNIXpath,即, fopen("/dir1/file1.raw", "rb"); 该文件在那里,是rw-。 但是,fopen返回NULL。 errno说没有这样的文件或目录。 有任何想法吗?