我已经开始使用wget
SSH 在 RedHat Linux 上下载大文件(~30GB)。然后我决定打断它,所以我按了Ctrl+C
。但突然就挂了。所以我只是关闭了 SSH 连接。当我重新登录系统时,我发现这个wget
进程并没有死:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14834 me 20 0 0 0 0 R 100.0 0.0 22:36.96 wget
所以我尝试执行kill -9 14834
,但它没有帮助,尽管该进程有R
状态。据我了解,进程被杀死是正常状态:它既不是僵尸,也不是不可中断的。但为什么就杀不死呢?
PS 作为另一个症状,我注意到我无法启动下载的文件ls
夹du
:列表挂起,我必须重新启动 SSH 会话。会不会和上面的问题有关系呢?
答案1
处于状态 R 的不可终止进程要么是内核错误,要么是硬件故障。
这种情况不应该发生,因此没有“合法”的方法来阻止它。kill -9
真是太难了。要找到阻止它的可靠方法,您需要弄清楚错误是什么(如果是软件错误)或错误如何影响系统(如果是硬件错误)。
PC 中最脆弱的部分是 RAM,因此请运行记忆测试。并确保您的内核是最新的,并包含最新的可用错误修复。