Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos DTrace脚本从不报告写系统调用_Macos_Bash_Osx Mountain Lion_System Calls_Dtrace - Fatal编程技术网

Macos DTrace脚本从不报告写系统调用

Macos DTrace脚本从不报告写系统调用,macos,bash,osx-mountain-lion,system-calls,dtrace,Macos,Bash,Osx Mountain Lion,System Calls,Dtrace,我使用以下DTrace脚本来跟踪bash的读写系统调用: syscall::write:entry, syscall::read:entry /execname == "bash"/ { } 它成功地匹配了2个探测,但无论我键入什么,我只看到读取调用。未报告任何写入调用。当外壳回显到屏幕上时,我正期待收到写呼叫 是脚本错了,还是我对bash的工作方式有错误的假设 我在OSX Mountain Lion下运行请在“写入”后使用通配符。这将列出匹配的探测器: sudo dtrace -l -n

我使用以下DTrace脚本来跟踪bash的读写系统调用:

syscall::write:entry,
syscall::read:entry
/execname == "bash"/
{

}
它成功地匹配了2个探测,但无论我键入什么,我只看到读取调用。未报告任何写入调用。当外壳回显到屏幕上时,我正期待收到写呼叫

是脚本错了,还是我对bash的工作方式有错误的假设

我在OSX Mountain Lion下运行

请在“写入”后使用通配符。这将列出匹配的探测器:

sudo dtrace -l -n 'syscall::write*:entry'
这可能会使您获得预期的输出:

syscall::write*:entry,
syscall::read*:entry
/execname == "bash"/
{

}

正在使用的调用可能是
write\u nocancel

如果使用逗号单独定义它们,您会看到它们吗?没有太多。苹果发布了一份名为“提及符号变体”的发行说明,其后缀为
$NOCANCEL
。这些是库封面函数,但它们包装的系统调用实际上有一个
\u nocancel
后缀。不过,它所说的一切都是“内部使用”。我相信他们是亲戚。谢谢!我很惊讶在谷歌上几乎找不到任何提及。