如何终止无法用 kill -9 终止的进程?

如何终止无法用 kill -9 终止的进程?

上下文:我需要创建一张软盘。我有一个现代的 USB 软盘驱动器,我想先运行 badblocks 以确保“新”(新软盘实际上是旧的新库存)软盘确实可以工作,然后再写入。

Badblocks 启动后停止,从未结束。我认为这个磁盘有问题,想继续。但是,badblocks 却一直不死。

以下是我的流程:

root     3594810  0.0  0.0   5960  2048 ?        D    02:22   0:00 badblocks /dev/sdh

我试过了:

kill 3594810
kill -9 3594810
kill -15 3594810
strace -p 3594810 (I get no output at all)
pstree -p, I then killed the parent zsh and su process as well as the offending badblocks process, in a one-liner.

我可以在 dmesg 中看到这一点,尽管我认为这并不能真正帮助消除问题。

[423075.822587] INFO: task badblocks:3594810 blocked for more than 122 seconds.

1:为什么终止这样的进程这么难? 2:我该如何终止它?

不。我不会因为这个就重启系统。现代 Linux 竟然不允许用户进入系统并终止进程(如果你真的想的话),这真是太不可思议了。到目前为止,我已经尝试了很多方法,似乎编写自己的内核模块,允许我找到特定的任务结构并将其删除,这是目前最有效的解决方案。

相关内容