我如何使用dtrace(或其他)来查找我的mac上ddclient的配置文件的位置?

时间:2017-04-28 17:48:55

标签: macos dtrace

我找不到一个如何在任何地方执行此操作的示例:我在我的mac上安装了ddclient,但是没有一个命令行开关似乎有任何影响,所以我试图修改配置但是我可以&找不到蠢货。

所以我认为既然dtrace应该像strace一样我可以运行dtrace并找出ddclient正在打开的文件......但是

dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'
来自handy one-liners

似乎没有任何参数。那我怎么能弄清楚我的配置在哪里?

1 个答案:

答案 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

配置文件的位置。