僵尸正在接管我的电脑

僵尸正在接管我的电脑

我的计算机中出现了几个僵尸进程。我该如何清除它们?

事实上,为什么会存在 vlc 和 pidgin 僵尸?这是 Ubuntu 的一个错误还是我做了什么?

谢谢!

ps aux |grep Z

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

sammy     3236  0.0  0.0      0     0 ?        Zl   heinä26   0:01 [vlc] <defunct>

sammy     4028  0.0  0.0      0     0 ?        Zl   heinä26   0:00 [vlc] <defunct>

sammy     4046  0.0  0.0      0     0 ?        Zl   heinä26   0:00 [vlc] <defunct>

sammy     4060  0.0  0.0      0     0 ?        Zl   heinä26   0:00 [vlc] <defunct>

sammy     4841  0.0  0.0      0     0 ?        Z    heinä26   0:00 [pidgin] <defunct>

sammy     4844  0.0  0.0      0     0 ?        Z    heinä26   0:00 [pidgin] <defunct>

sammy     6525  0.0  0.0      0     0 ?        Z    heinä26   0:00 [pidgin] <defunct>

sammy     6529  0.0  0.0      0     0 ?        Z    heinä26   0:00 [pidgin] <defunct>

sammy     8401  0.0  0.0      0     0 ?        Zl   heinä26   0:00 [vlc] <defunct>

sammy    13526  0.0  0.0      0     0 ?        Z    09:54   0:00 [pidgin] <defunct>

答案1

我认为你的答案是综合的路易斯·阿尔瓦拉多回答

如果您有僵尸进程,则意味着这些僵尸进程的父进程没有等待(查看 显示的 PPID ps -l)。您有三个选择:修复父进程(使其等待);终止父进程;或忍受它。请记住,忍受它并不难,因为僵尸进程在 的输出中只占用一行多一点的内容ps

[...]僵尸程序存在的时间过短通常表明父程序中存在错误。与其他泄漏一样,少量僵尸的存在本身并不令人担忧,但可能预示着问题在更重的负载下会变得更加严重。

要从系统中移除僵尸进程,可以使用 kill 命令手动向父进程发送 SIGCHLD 信号。如果父进程仍然拒绝收割僵尸进程,下一步就是移除父进程。当进程失去父进程时,init 将成为其新的父进程。Init 会定期执行 wait 系统调用来收割以 init 为父进程的任何僵尸进程。

也可以看看这个帖子关于如何摆脱僵尸进程。

答案2

至少对于 pidgin 来说,这似乎是一个由于进入和退出休眠状态的问题而导致的错误:

https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/1245666

vlc 僵尸可能只是由于该程序中的错误而导致的巧合。

答案3

对于我来说,每次我打开一个新视频(从文件资源管理器中)时,都会创建一个新的(或某些)进程并以某种方式保持“活动”(至少在“任务栏”上会出现一个图标)。

我看到一个建议(抱歉不记得作者了)将视频输出更改为 OpenGl,但这不起作用。无论如何,当我将视频输出更改为 XBC 时,它起作用了。问题出现在 snap 和 apt 的 VLC 上。

我的解决方案:

  1. 关闭/终止所有“活动”进程(kill -9 vlc)
  2. rm -r ~/.config/vlc
  3. 单独运行 vlc ($vlc)
  4. 工具 > 首选项 > 视频 > 输出 XCB > 保存

我将两个输出(输出和全屏输出)都更改为 XCB。

相关内容