strace命令总结

1.比如我们要跟踪一条mount命令执行过程中有哪些堆栈的调用:

mount -t nfs4 -o rw,hard,intr,timeo=600,actimeo=0,proto=tcp,rsize=262144,wsize=262144 192.168.8.164:/app-temp/recovery/151 /tmp/flashbackup_tmp/210 2>&1

可以这样做:

strace  -o result.txt mount -t nfs4 -o rw,hard,intr,timeo=600,actimeo=0,proto=tcp,rsize=262144,wsize=262144 192.168.8.164:/app-temp/recovery/151 /tmp/flashbackup_tmp/210 2>&1

2.指定进程号pid进行追踪:

strace -o output.txt -T -tt -e strace=all -p pid(待追踪进程的进程号)
-f 可以跟踪所有由 fork 产生的子进程(vfork不被跟踪)
-F 会尝试跟踪 vfork 的调用
-ff 如果有 -o $file,则所有进程的跟踪结果会输出到 $file.$pid 中,其中 $pid 为各进程的进程号
-t 输出时加上时间信息
-tt 输出时加上时间信息(微秒级)
-T 输出加上每次系统调用消耗的时间
-v 输出完整的系统调用信息(默认部分频繁使用的调用不输出)

你可能感兴趣的:(linux)