strace命令可以拦截并记录进程所使用的系统调用和进程所接收到的信号。这是一个非常有用的诊断、指导
和调试工具。系统管理员使用其来解决应用程序相关问题。
要跟踪某个进程,需要指定被监控进程的进程ID(PID):
strace -p <pid>
例子2-24展示了strace的输出结果。
例子2-24:strace监控httpd进程的输出结果
 
注意:当针对某个进程执行strace命令,此进程的性能将大大降低,所以只有在搜集数据时才执行此命令。
这里有另外一个有趣的用法。此命令可以报告在执行某个命令时被系统调用消耗了多少内核时间。
strace -c <command>
例子2-25:strace关于系统时间的计算结果
 
关于strace命令的完整用法,输入:
strace -?