{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

linux如何清理僵尸进程?

shiyang6017shiyang6017 回答0 收藏1
收藏问题

1条回答

elliott_hu

elliott_hu

回答于2022-06-28 11:29

回答这个问题前,我们先来简单了解下什么是僵尸进程。

1、僵尸进程通俗理解就是,子进程因为各种原因死掉了,但是父进程没及时去关心死掉的子进程(资源回收),而导致子进程称为了孤魂野鬼(僵尸进程)。

2、僵尸进程对系统有什么危害呢?不清理可不可行?

简单来讲,如果系统中有少量的僵尸进程(自己维护的系统有10个左右的时候没有很在意),不打紧,实际使用中没有发现有什么异常。但是如果僵尸进程比较多,则需要及时清理。因为每一个僵尸进程都会占据一个进程号,而系统的进程号又是有限的,别哪一天突然产生好多僵尸进程,导致系统不能再正常分配进程号,创建不了子进程,那系统就要崩溃了。

3、在操作系统中如何查看僵尸进程呢?(以Linux为例)

TOP

ps aux | grep Zs | grep -v grep

ps -ef | grep defunct

ps -ef | grep defunct | grep -v grep | wc -l --查看僵尸进程

4、如何清理僵尸进程呢?

找到该defunct僵尸进程的父进程,将该进程的父进程杀掉,则此defunct进程将自动消失

但是查杀父进程的时候,强烈建议lsof -p 查看下父进程是哪个程序的进程,断然不可漠然执行。(业务没有什么危害,也许会导致业务宕机)。如果整体没有太大把握,僵尸进程又非常多的情况下,可以申请停机窗口进行服务器的重启。

以上是个人实际工作的一些方法,方法可能非常多,起到一个开拓思路的作用吧。希望对题主有所帮助。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<