例如,在linux机器上有很多进程。每个进程都可以使用系统调用,但通常只有少数被使用。那么,有没有一种工具或方法可以显示何时使用了系统调用以及与之关联的进程?
您可以使用各种工具,如strace
、ltrace
等,但我不确定您是否想同时跟踪所有进程。
通常,您会附加到一个感兴趣的进程并跟随其系统调用。
lnotify
,或者一些更高级的东西,比如Splunk FS变化监视器(http://docs.splunk.com/Documentation/Splunk/latest/Data/Monitorchangestoyourfilesystem):) - favoretti您可以使用Linux内核审计子系统。
例如,要查看由名为sshd(pid - 12345)的程序执行的所有系统调用:
# auditctl -a entry,always -S all -F pid=12345