故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)

目录

文章目录

    • 目录
    • 实验环境
    • 实验软件(无)
    • 1、故障现象
    • 2、排查过程
    • 3、处理办法
    • 4、参考资料
    • 5、总结
    • 关于我
    • 最后

实验环境

centos7服务器

实验软件(无)

1、故障现象

接业务报障,一台centos7机器,业务用户无法进入某个目录,其他目录都正常,请求帮忙排查。

2、排查过程

自己用root账号登录机器后,用root账号进这个目录,发现,进不去,和业务反馈故障现象一致。另外,该故障目录,经自己测试,虽然可以进去,但执行ls -h目录失败。

经过排查,发现执行top命令后,有2个僵尸进程,再进一步用命令发现该僵尸进程的父进程是1,大致就定位到原因了。

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第1张图片

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'

image-20211116110728992

估计是因为这2个僵尸进程导致上述业务故障原因。

因此协调业务重启机器,因为该僵尸进程的父进程是1,即Init进程,因此只能通过重启机器来解决掉

3、处理办法

协调业务重启机器后,进测试,原来那个故障目录可正常进入,无僵尸进程。

故障现象已恢复,结束工单。

4、参考资料

https://blog.csdn.net/ai_faker/article/details/109690040?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.2

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第2张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第3张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第4张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第5张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第6张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第7张图片

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第8张图片

5、总结

  • ps、top命令必须要熟悉掌握使用,这2个命令很强大;
  • mount和ummount命令
1、列出当前系统下all的挂载点:mount -l
#选线-l:-l, --show-labels       lists all mounts with LABELs 列出所有带有标签的挂载

举例:
[root@xyy admin]#mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=1833900k,nr_inodes=458475,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/vda1 on / type ext4 (rw,relatime,data=ordered)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=11331)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
overlay on /var/lib/docker/overlay2/63481809fcaaa4c9b9975f42780bfe75c2e4f54058182fe34e4fd48367305697/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/XMONIQ6YEPKD3MS25YJ322KHVC:/var/lib/docker/overlay2/l/AMBOHWRSM7IUJD2XR6EJ754GWI:/var/lib/docker/overlay2/l/RXRXWXTPIEEC55GFMRVNSM4MW5:/var/lib/docker/overlay2/l/BP75Q6KOE6HZHPPQFWYTVQMWQ6:/var/lib/docker/overlay2/l/D5GLT2XIUNEF6W6XBH64LNY67A:/var/lib/docker/overlay2/l/2MPOU6Y3QHNOR3V2GU72YHDUEX:/var/lib/docker/overlay2/l/SZZELYXD4FC4HMDPIJUBOTPMAS,upperdir=/var/lib/docker/overlay2/63481809fcaaa4c9b9975f42780bfe75c2e4f54058182fe34e4fd48367305697/diff,workdir=/var/lib/docker/overlay2/63481809fcaaa4c9b9975f42780bfe75c2e4f54058182fe34e4fd48367305697/work)
proc on /run/docker/netns/2903cd1b89c4 type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=368872k,mode=700,uid=1000,gid=1000)
[root@xyy admin]#

2、卸载系统:unmount -l 文件夹路径
-l, --lazy              detach the filesystem now, and cleanup all later   现在分离文件系统,稍后进行清除  
  • 当用kill -9 PID杀死某个进程后,这个进程又自动起来了,可能怀疑该进程是僵尸进程。要判断是否为僵尸进程,可用top命令查看,进一步再用ps -A -o s,ppid,pid,cmd| grep -e '^[Zz]'这个命令进行确认进程PID。
  • 注意:一般来说,僵尸进程可以直接kill -9 PID。
    如果 kill 无效,可以尝试通过ps命令找出僵尸进程的父进程ID并kill。
    但是如果僵尸进程的父进程ID为1,为init级,比如我今天遇见的这种情况,是没有办法kill的。那就必须要重启系统才可以了,因为1进程是init级的。
    一般来说僵尸进程一般都会被1进程回收销毁

关于我

我的博客主旨:我希望每一个人拿着我的博客都可以做出实验现象,先把实验做出来,然后再结合理论知识更深层次去理解技术点,这样学习起来才有乐趣和动力。并且,我的博客内容步骤是很完整的,也分享源码和实验用到的软件,希望能和大家一起共同进步!

各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人免费帮您解决问题:

  1. 个人微信二维码:x2675263825 (舍得), qq:2675263825。

    image-20211002091450217

  2. 个人博客地址:www.onlyonexl.cn

    image-20211002092057988

  3. 个人微信公众号:云原生架构师实战

    image-20211002141739664

  4. 个人csdn

    https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

    image-20211002092344616

最后

​ 好了,关于以上故障剖析就到这里了,感谢大家阅读,最后贴上我女神的photo,祝大家生活快乐,每天都过的有意义哦,我们下期见!

故障案例:Linux机器用户cd进不了系统某目录或者进去后执行不了命令呈现卡死状态(工作实战-测试成功)-2021.11.16(僵尸进程)_第9张图片

你可能感兴趣的:(Linux,linux,运维,僵尸进程)