AirBlog

  • 首页
  • 技术杂谈
  • 资源分享
  • 学习笔记
  • MikuTools
  • 公告
    • 开张篇
AirTed的博客~
一个小小的博客,记录着大大的梦想
  1. 首页
  2. 技术杂谈
  3. Linux
  4. 正文

Linux遇到杀不死的进程的问题

2022年5月19日 1647点热度 1人点赞 0条评论

在Linux中终止进程是很容易的通过kill命令即可终止进程,但有些进程会一直kill不掉。

kill -9 PID 命令是发送SIGKILL信号给进程将其终止。
但对于以下两种情况不适用:
1.该进程是僵尸进程(STAT z),此时进程已经释放所有的资源,但是没有被父进程释放。
僵尸进程要等到父进程结束,或者重启系统才可以被释放。
2.进程处于内核态[^2],并且在等待不可获得的资源,处于内核态的资源默认忽略所有信号,只能重启系统解决。
进程在Linux 中会处于两种状态,即用户态和内核态。只有处于用户态的进程才可以用'kill'命令将其终止

第一步:利用命令查找僵尸进程

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

命令注解:
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

第二步:杀死进程

kill -9 PID
或者
kill -HUP 父进程PID

[^2]:内核态指进程名字上带英文中括号(例:[qb])

标签: 暂无
最后更新:2022年8月8日

airted

这个世界从来不缺天才,只缺乏利用天分坚持理想和信念不断创新的人,这些人用恒心和努力缔造一个又一个传奇

点赞
< 上一篇
下一篇 >

airted

这个世界从来不缺天才,只缺乏利用天分坚持理想和信念不断创新的人,这些人用恒心和努力缔造一个又一个传奇

最新 热点 随机
最新 热点 随机
通过MinIO(Docker版) + Nginx反代 自建OSS,为自己便利提供独享网盘 [Docker]mihomo for Docker [转]利用Fake location进行步道乐跑,咕咚等校园跑刷步教程 回忆版 学习SQL Server Docker正常运行时,出现卡死问题
在Centos7中安装Docker Linux使用cpulimit工具限制进程的CPU使用量 Linux对大型压缩包进行拆分,并在Windows上进行合并 Ubuntu搭建http代理,为apt设置更新代理 修改Linux服务器SSH端口
标签聚合
youtube-dl Go Docker Fake Location Python Linux 文件传输 SQL Server

又拍云logo

COPYRIGHT © 2018-2024 AIRBLOG.

Theme Kratos Made By Seaton Jiang

粤ICP备18106226号