ps 找到进程,kill 没有

ps 找到进程,kill 没有

规格

[midas@localhost ~]$ uname -a Linux localhost.localdomain 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[midas@localhost ~]$ cat /etc/issue Fedora release 22 (Twenty Two)

问题前言

我试图dnf在我的 Fedora 22 (Linux 4.0.4) 上安装一个新的软件包。当软件包下载到 52% 时停止,并且终端窗口不再显示任何进度。

我中止了下载并尝试使用相同的dnf install [package name]命令重新启动它。

然后我收到了以下通知: Waiting for process with pid 2967 to finish.

结果dnf仍然在后台运行:

[midas@localhost ~]$ ps -A | grep 2967 2967 ? 00:00:01 dnf

问题

我想我可以只是kill这个过程,但是:

[midas@localhost ~]$ kill 2967 bash: kill: (2967) - No such process [midas@localhost ~]$ sudo kill 2967 kill: sending signal to 2967 failed: No such process

为什么ps可以列出进程却kill找不到?

我知道重新启动可以解决这个问题(或者甚至需要一点耐心)。但我只是好奇为什么这两个命令之间有如此大的差异。

答案1

列出的进程可能已经是僵尸进程,您无法杀死它。它的生存时间取决于其父进程。

如果将该u标志添加到 的调用中ps,它还会显示用于僵尸进程STAT的列。Z

参见例如https://stackoverflow.com/questions/16944886/how-to-kill-zombie-process 更多细节。

相关内容