免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2534 | 回复: 0
打印 上一主题 下一主题

Linux 操作系统下进程追踪 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-13 10:24 |只看该作者 |倒序浏览
无法确定在Linux系统服务器上的某些进程是否已然死了还是仍然再运行?

  某些进程出现挂死现象,但手动调用时又能正常运行,想在系统调用级别记录这些进程的运行状况。

  想看看进程是否发生阻塞,阻塞在哪里。

  这些情况就可以用牛x的strace命令来监控相关进程,很好用的说~

  进行snmp监控终端时,使用strace排查:使用strace -F -f -p 1312 -o /localhost/test/Getinfo.txt 追踪进程实际的系统调用情况。

  1312实际就是运行程序的pid,o参数为制定输出路径。

  日志如下:29186 select(8, [3], NULL, NULL, {9, 992000}) = 1 (in [3], left {9, 981000})

  29186 recvfrom(3, "0.\2\1\1\4\7public\242 \2\2\4\204\2\1\0\2\1\0000\0240"……, 1472, 0, {sa_family=AF_INET, sin_port=htons(161), sin _addr=inet_addr("192.168.6.1")}, [16]) = 48 29186 getpeername(3, 0x91ea358, [256]) = -1 ENOTCONN (Transport endpoint is not connected)

  29186 select(0, NULL, NULL, NULL, {0, 0}) = 0 (Timeout)

  ……非常多

  可以看到日志记录了进行的系统调用情况,recvfrom就是实际接受snmp响应的状态,端口是161.在实际排查过程中,日志也是断在了recvfrom处,基本可以确定是snmp通讯引起了进程僵死。

原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/418/12156918.shtml
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP