如何在 Linux 中杀死僵尸进程

僵尸进程

你怎么知道 僵尸进程 Linux 中的或 dead 是已完成的进程,但由于父子进程不匹配,仍会出现在进程表中。 父进程使用函数控制子进程的状态 等待(),当子进程终止时,该函数告诉父进程从内存中终止进程。

但是,如果父进程未能为其任何子进程调用此类函数,则这些子进程将保持“活动”状态并占用其他进程可以使用的系统资源, 影响性能. 这就是为什么不时地杀死所有那些僵尸进程很重要的原因。 为此,可以通过两种方式突出显示:通过 GUI 或通过终端:

通过终端

僵尸进程

要杀死 Linux 中的僵尸进程,您必须首先确定这些进程是什么,然后杀死它们。 好吧,这可以使用 ps、top 等工具来完成。 你可以使用你最喜欢的那个。 例如,以下是您可以使用的两个命令 检测是否有僵尸进程:

top

ps axo stat,ppid,pid,comm | grep -w defunct

在第一种情况下,它是一个交互式命令,向您显示进程,并将在第二行(如您在图像中看到的)显示当前存在的僵尸进程的数量(在此图像 11 中)。 此外,您可以滚动浏览进程列表,并在 S 列中查看状态。 如果它被标记为 Z,那么它就是一个僵尸。

在第二种情况下,它只会向您显示您正在运行的僵尸进程的输出。

在一种情况下和另一种情况下,注意僵尸进程的 PID 以杀死它们是很重要的:

sudo kill -9 PID

你必须 更换 PID 按您的情况下的进程号。 另外,如果它不起作用,您可能需要特权,因此您必须在命令前面使用 sudo ...

通过图形用户界面

系统监视器,进程

如果您对终端和命令不太熟练,也可以使用图形工具来完成。 例如,您可以使用系统监视器,例如 系统监视器 之类的。 在这里你也必须先定位僵尸进程,然后杀死它们:

  1. 打开系统监视器。
  2. 转到进程选项卡。
  3. 现在,使用搜索工具(放大镜)搜索术语僵尸。
  4. 在列表中出现的进程中,用鼠标右键单击它们并按 Kill。

确保它显示出来很重要 所有进程 系统的。 要检查这一点,请转到系统监视器设置菜单并查看选中的选项。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。