进程使其他进程挂起

进程使其他进程挂起

在某些时候,许多脚本似乎无缘无故地挂起。手动运行它们仍然有效。我把范围缩小到了一个ps -ef挂起的地方。经过一番处理后,输出就停止了。

运行strace ps -ef给出了很多输出,最后是:

close(6)                                = 0
openat(AT_FDCWD, "/proc/27306/status", O_RDONLY) = 6
read(6, "Name:\tansible-playboo\nState:\tZ ("..., 2048) = 784
close(6)                                = 0
openat(AT_FDCWD, "/proc/27306/cmdline", O_RDONLY) = 6
read(6, "", 131072)                     = 0
close(6)                                = 0
write(1, "ansible  27306 26822  0 02:01 ? "..., 76ansible  27306 26822  0 02:01 ?        00:00:08 [ansible-playboo] <defunct>
) = 76
newfstatat(AT_FDCWD, "/proc/27308", {st_mode=S_IFDIR|0555, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/proc/27308/stat", O_RDONLY) = 6
read(6, "27308 (ansible-playboo) D 26822 "..., 2048) = 311
close(6)                                = 0
openat(AT_FDCWD, "/proc/27308/status", O_RDONLY) = 6
read(6, "Name:\tansible-playboo\nUmask:\t002"..., 2048) = 1150
close(6)                                = 0
openat(AT_FDCWD, "/proc/27308/cmdline", O_RDONLY) = 6
read(6, 

所以,我想,什么是ps 27308ps又挂了。

顺便说一句:挂在这里意味着没有进一步的输出,不对信号做出反应(^c、^z 或kill来自另一个终端;有时但并非总是忽略kill -9

所以,这个过程显然是我所有问题的原因。让我们kill -9 27308以 root 身份。现在,kill绞死了。

即使是正常的也shutdown -r now行不通;我不得不shutdown -nr now

有谁知道一个流程如何进入如此混乱的状态?以前见过吗?如何防止这种情况发生?

相关内容