说明
strace是linux下调试分析诊断工具,可以跟踪程序执行时进程的系统调用以及收到的信号
测试
查看当前进程
➜ ~ ps -la
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 1000 2808 2806 0 80 0 - 299613 ep_pol tty2 00:02:19 Xorg
0 S 1000 2872 2806 0 80 0 - 56532 do_pol tty2 00:00:00 gnome-session-b
0 S 1000 21361 3663 0 80 0 - 3527 do_wai pts/0 00:00:00 man
0 S 1000 21369 21361 0 80 0 - 2961 wait_w pts/0 00:00:00 less
0 S 1000 23921 17534 0 80 0 - 694 hrtime pts/2 00:00:00 mynginx
4 R 1000 23922 15365 0 80 0 - 3940 - pts/1 00:00:00 ps
使用strace跟踪mynginx进程
mynginx进程是启动在pts/2上的,当关闭这个终端时候,可以看到mynginx收到了SIGHUP信号。
➜ ~ sudo strace -e trace=signal -p 23921
strace: Process 23921 attached
--- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=17534, si_uid=1000} ---
+++ killed by SIGHUP +++