[debug]-linux下进入某文件夹卡死且任何指令无效/GPU显存无法释放且进程的PPID为init级

1.问题描述

linux某一文件夹导致shell卡死,具体表现为,任何指令输入无效,包括rm -rf 指令。
在这里插入图片描述
可以看到,这个文件夹像黑洞一样,只要涉及到这个文件夹,任何指令一律卡死。

2.问题查找

2.1.情况一

该文件夹中有一个服务挂载在该文件夹某一目录下,因突然关机等异常情况导致该服务无限制等待,机器重启后也不能正常连接。
1)首先,输入指令

mount -l

查看相关文件夹挂载情况,若发现某服务挂在到了当前文件夹。
2)解除挂载

umount -l /home/user3/yolov5/yolov5
# 此处填该文件夹路径

之后便可以正常使用。

2.2情况二
mount -l
#并没有发现与该文件夹相关的服务挂载,排除情况一

1)使用ps -ef指令查看所有进程,找到涉及到当前可以文件夹的可疑进程PID号。
2)执行指令kill -9 PID指令,杀死该进程。
3)执行后发现该进程依然存在,怀疑出现僵尸进程问题。执行top指令。
在这里插入图片描述
可以看到,存在9个僵尸进程。
4) 输入指令ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'
在这里插入图片描述

-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数

一般来说,僵尸进程可以直接kill -9 PID
如果 kill 无效,可以尝试通过ps命令找出僵尸进程的父进程ID并kill
但是如果僵尸进程的父进程ID为1,为init级,比如我今天遇见的这种情况,是没有办法kill的。

问题来了,一般来说僵尸进程一般都会被1进程回收销毁,不知道我这个为什么没有被回收掉,并且最坑的是,9055,9056是我的GPU进程,占了显存啊,必须要释放.
在这里插入图片描述
如果最后你查到你想要释放的僵尸进程是1进程,恭喜你,没有任何办法,只能想办法重启服务器了,因为1进程是init级的。

知识点附录

1.top指令详解
2.ppid为1的僵尸进程处理方法
3.接触文件夹挂载服务
4.ps指令详解

Linux查看进程命令:PS命令
ps命令是一个相当强大地Linux进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、 进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地。

PS命令语法:
ps [选项]
-e显示所有进程,环境变量
-f全格式
-h不显示标题
-l长格式
-w宽输出
-a显示终端上地所有进程,包括其他用户地进程
-r只显示正在运行地进程
-x显示没有控制终端地进程

PS命令使用:
ps命令用于查看当前正在运行的进程,最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,再对特定的进程进行操作,其中grep起到搜索作用。
例如:

ps -ef | grep java
表示查看所有进程里CMD是java的进程信息
ps -aux | grep java
-aux显示所有状态
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值