如何在Linux上停止“不间断"进程? [英] How to stop 'uninterruptible' process on Linux?
问题描述
我有一个VirtualBox进程挂起,试图杀死它(KILL
/ABORT
),但没有成功.父pid是1(初始值).
I have a VirtualBox process hanging around which I tried to kill (KILL
/ABORT
) but without success. The parent pid is 1 (init).
top
将过程显示为D
,记录为不间断睡眠".
top
shows the process as D
which is documented as "uninterruptible sleep".
strace
不显示任何内容.
我该如何摆脱呢?它阻止了我卸载VirtualBox内核驱动程序以加载较新的内核驱动程序.
How can I get rid of this? It prevents me from unloading the VirtualBox kernel driver to load a newer one.
推荐答案
简单的答案:您不能.
更长的答案:不间断的睡眠意味着该过程不会被信号唤醒.它只能被等待的东西唤醒.当我遇到这样的情况时.使用CD-ROM,我通常使用磁盘暂挂并恢复来重置计算机.
Longer answer: the uninterruptable sleep means the process will not be woken up by signals. It can be only woken up by what it's waiting for. When I get such situations eg. with CD-ROM, I usually reset the computer by using suspend-to-disk and resuming.
这篇关于如何在Linux上停止“不间断"进程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!