上下文:我需要创建一张软盘。我有一个现代的 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 竟然不允许用户进入系统并终止进程(如果你真的想的话),这真是太不可思议了。到目前为止,我已经尝试了很多方法,似乎编写自己的内核模块,允许我找到特定的任务结构并将其删除,这是目前最有效的解决方案。