如何杀死表面上不朽的进程?

如何杀死表面上不朽的进程?

我在 NFS 挂载点上执行了一些大型文件传输。挂载点所在的服务器不小心重启了,现在发起这些大型传输的服务器似乎因此陷入了困境。

如果我运行top,我会看到以下内容:

在此处输入图片描述

kill我尝试做的第一件事是依次使用 -1 -2 -9 和 -15 标志以及上面显示的每个进程 ID运行。这样我就可以继续,但不会终止进程。我尝试做的下一件事是重新启动服务器,但都reboot没有shutdown -r now成功。当我运行时,shutdown -r now标准广播消息已发出,但服务器没有重新启动。我通过查看服务器正常运行时间(25 天)确认了这一点。

所以我有点卡住了。我以 root 身份运行这些命令。

编辑:这是另一个有趣的消息:

在此处输入图片描述

在 top 中,我没有看到任何其他进程使用超过百分之几的内存或超过 5% 的 CPU。

编辑2:输出/var/log/messages

在此处输入图片描述

答案1

好吧,是时候采取一些更激烈的行动了!

echo 1 >/proc/sys/kernel/panic

这将指示内核,当内核崩溃时,在 1 秒内重新启动主机。

echo c >/proc/sysrq-trigger

这迫使内核崩溃。所以希望你最终能重新启动主机。

答案2

您已启动关机过程,因此最好的办法是重新启动它。如果它是物理机器,那么您可以物理关闭服务器还是通过服务处理器关闭?

如果没有,并且您认为是这些特定进程挂起了,那么尝试使用以下命令mv终止所有名为的进程:gzip

killall mv

killall gzip

作为一般免责声明,当心使用 killall 命令,因为您不想意外杀死某些系统进程,所以请注意您正在杀死什么。

另外,查看挂载了什么,df -h然后尝试卸载它们。我曾看到我的 Linux 系统在关机时挂起,因为它们不会放弃 nfs 挂载。我通常不得不“偷懒”地卸载它们

umount -l /path/of/mount/point

编辑1

正常重启的其他方法:

您的系统对此有响应吗Ctrl+Alt+Del

如果没有,请尝试神奇的 SysRQ 组合键:Alt+SysRq+R+E+I+S+U+B。Sysrq=PrintScreen 按钮。按住 alt 和 sysrq 键,按顺序依次输入 REISUB 组合键。它基本上会先终止所有进程,然后进行其他清理,然后重新启动。这仅在内核中启用了神奇的 sysrq 时才有效。仅供参考:

R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing

相关内容