Linux进程僵死原因排查思路

常情况下脚本执行时间几秒完成,如果超过很长时间执行完成,可能是进程等待某些资源引起阻塞(假死状态)。

场景:xx.perl读取文件并发送邮件

现象:执行脚本的进程僵死(卡住)

排查:ps -ef |grep “perl xx.perl”

 

跟踪:strace -p 16634  (跟踪进程执行时的系统调用和所接收的信号(即它跟踪到一个进程产生的系统调用,包括参数、返回值、执行消耗的时间),卡在read(3,位置

 

查看进程文件描述符目录:查看3进行的是socket操作,也就是卡在通信。

 

使用netstat -anoutp |grep 24432 查看通信的目标是什么:端口ip:25,可以确定是邮件服务器 

总结:程序卡在与邮件服务器通信环节导致进程卡住。

冰冻三尺非一日之寒!
原文地址:https://www.cnblogs.com/migrantworkers/p/10179688.html