如何排查进程假死

首先,先找出那个假死的进程然后查看状态,用ps命令

ps aux|head -n 1;ps aux|grep process_niubi_hh.php

这里说个小技巧,就是如何展示ps的表头,可以看出我的命令里其实是两条命令组成,第一条是获取头一条,然后加个分号,最后再把需要获取内容的命令拼上去,也就是说一个分号,就能将两条命令的内容拼在一起了

第二,查看这个进程的打开了哪些连接

ll /proc/7861/fd

从上图可以看出,这个进程请求到了最后一步就停了,说明这个socket请求有问题,接下来开始排查这个socket

第三,排查这个socket连接了什么

head -n 1 /proc/net/tcp;grep 7238424  /proc/net/tcp

上图中有两个值需要关注,一个是loca_address 本地地址,一个是rem_address 远端地址,相当于本地主机请求了远端一个地址的记录,现在需要对远端地址进行16进制转10进制,因为ip是每一段都是8位,这里是16进制,也就是要两个两个拿出来

比如17140A0A:14D3 这个要先切成  17 14 0A 0A :14D3(端口就直接4位数丢进去转)

然后每一段单独转成10进制

就变成 23 20 10 10 : 5331,最后再反转 10 10 20 23:5331=>10.10.20.23:5331

然后再去这台机器上看这个端口通不通,去看了下果然不通,就是因为这个问题导致进程卡住假死,就可以去运维的锅了

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值