Macos 如何监控流程的任何输入和输出

Macos 如何监控流程的任何输入和输出,macos,profiling,nfs,dtrace,Macos,Profiling,Nfs,Dtrace,有以下进程:NetAuthSysAgent,它重复调用/创建不存在的nfs共享的进程mount_nfs。我有一种预感,这些调用是由另一个给出指令的进程触发的 因此,我想分析NetAuthSysAgent,可能使用dtrace,查看此进程的所有输入(如IPC,包括信号、队列、文件、套接字等),并在调用mount_nfs进程之前验证所有读取文件或内存区域 我该怎么做?dtrace是否合适?如果合适,如何合适 欢迎任何帮助。即使它只在FreeBSD或Solaris上应用/工作,我也可以尝试自己将其调整

有以下进程:NetAuthSysAgent,它重复调用/创建不存在的nfs共享的进程mount_nfs。我有一种预感,这些调用是由另一个给出指令的进程触发的

因此,我想分析NetAuthSysAgent,可能使用dtrace,查看此进程的所有输入(如IPC,包括信号、队列、文件、套接字等),并在调用mount_nfs进程之前验证所有读取文件或内存区域

我该怎么做?dtrace是否合适?如果合适,如何合适

欢迎任何帮助。即使它只在FreeBSD或Solaris上应用/工作,我也可以尝试自己将其调整到OSX

更新:
我已经使用了以下命令,但我只介绍了文件部分:

dtrace -q -n syscall::open:entry'{ printf("%-16s %-16s\n",execname,copyinstr(arg0)); }'
上面的命令给了我进程和打开的文件

opensnoop -va -n NetAuthSysAgent
上面的命令是一个调用DTrace stuffs的脚本,它与前面的命令大致相同,但它由流程NetAuthSysAgent进行过滤,并提供一些其他信息(例如UID、PID、FD等)