我找不到一个如何在任何地方执行此操作的示例:我在我的mac上安装了ddclient,但是没有一个命令行开关似乎有任何影响,所以我试图修改配置但是我可以&找不到蠢货。
所以我认为既然dtrace应该像strace一样我可以运行dtrace并找出ddclient正在打开的文件......但是
dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'
来自handy one-liners的似乎没有任何参数。那我怎么能弄清楚我的配置在哪里?
答案 0 :(得分:0)
事实证明,dtrace不是为你生成进程而设计的,你必须自己在一个单独的shell中做到这一点。
correct command实际上是:
sudo dtrace -n 'syscall::open*:entry /strstr(copyinstr(arg0), "ddclient.conf") != NULL/ { printf("%s %s",execname,copyinstr(arg0)); }
然后在另一个终端中,正常运行ddclient。您将在dtrace窗口中看到类似这样的内容:
CPU ID FUNCTION:NAME
2 166 open:entry perl5.18 /usr/local/etc/ddclient/ddclient.conf
2 166 open:entry perl5.18 /usr/local/etc/ddclient/ddclient.conf
配置文件的位置。