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

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

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

 Linux进程僵死原因排查思路 Linux 第1张

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

 Linux进程僵死原因排查思路 Linux 第2张

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

 Linux进程僵死原因排查思路 Linux 第3张

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

Linux进程僵死原因排查思路 Linux 第4张

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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄