会计考友 发表于 2012-8-4 12:07:07

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]
查看完整版本: Linux辅导:Linux下进程追踪