Linux辅导:Linux下进程追踪
无法确定在Linux系统处事器上的某些历程是否已然死了仍是仍然再运行? 某些历程呈现挂死现象,但手动挪用时又能正常运行,想在系统挪用级别记拭魅这些历程的运行状况。想看看历程是否发生梗阻,梗阻在哪里。
这些情形就可以用牛x的strace呼吁来监控相关历程,很好用的说~
进行snmp监控终端时,使用strace排查:使用strace -F -f -p 1312 -o /localhost/test/Getinfo.txt 追踪历程现实的系统挪用情形。
1312现实就是运行轨范的pid,o参数为拟定输出路径。
日志如下:29186 select(8, , NULL, NULL, {9, 992000}) = 1 (in , left {9, 981000})
29186 recvfrom(3, "0.21147public242 2242042121000240"……, 1472, 0, {sa_family=AF_INET, sin_port=htons(161), sin _addr=inet_addr("192.168.6.1")}, ) = 48 29186 getpeername(3, 0x91ea358, )= -1 ENOTCONN (Transport endpoint is not connected)
29186 select(0, NULL, NULL, NULL, {0, 0}) = 0 (Timeout)
……很是多
可以看到日志记实了进行的系统挪用情形,recvfrom就是现实接管snmp响应的状况,端口是161.在现实排查过程中,日志也是断在了recvfrom处,根基可以确定是snmp通信引起了历程僵死。
页:
[1]