![如何终止‘sudo kill -9’无法终止的进程(无需重启)?](https://linux22.com/image/1094196/%E5%A6%82%E4%BD%95%E7%BB%88%E6%AD%A2%E2%80%98sudo%20kill%20-9%E2%80%99%E6%97%A0%E6%B3%95%E7%BB%88%E6%AD%A2%E7%9A%84%E8%BF%9B%E7%A8%8B%EF%BC%88%E6%97%A0%E9%9C%80%E9%87%8D%E5%90%AF%EF%BC%89%EF%BC%9F.png)
我尝试终止该进程:
sam@sam-desktop:~$ ps -aux|grep sda
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 2898 0.0 0.0 0 0 ? S 11:39 0:00 [jbd2/sda6-8]
root 2899 0.0 0.0 2300 716 ? D 11:39 0:00 mount -t ext4 -o uhelper=udisks,nodev,nosuid /dev/sda6 /media/634bad56-5543-40fe-843b-cd31f4a95dba_
sam 2973 0.0 0.0 3328 876 pts/0 S+ 14:13 0:00 grep --color=auto sda
sam@sam-desktop:~$ sudo kill -9 2898
sam@sam-desktop:~$ sudo kill -9 2899
sam@sam-desktop:~$ sudo killall -9 2898
2898: no process found
sam@sam-desktop:~$ sudo killall -9 2899
2899: no process found
sam@sam-desktop:~$ ps -aux|grep sda
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 2898 0.0 0.0 0 0 ? S 11:39 0:00 [jbd2/sda6-8]
root 2899 0.0 0.0 2300 716 ? D 11:39 0:00 mount -t ext4 -o uhelper=udisks,nodev,nosuid /dev/sda6 /media/634bad56-5543-40fe-843b-cd31f4a95dba_
sam 2987 0.0 0.0 3328 872 pts/0 S+ 14:22 0:00 grep --color=auto sda
sam@sam-desktop:~$
根据建议我尝试了:
sam@sam-desktop:~$ sudo umount -f /media/634bad56-5543-40fe-843b-cd31f4a95dba_
umount2: Invalid argument
umount: /media/634bad56-5543-40fe-843b-cd31f4a95dba_: not mounted
sam@sam-desktop:~$ sudo umount -l /media/634bad56-5543-40fe-843b-cd31f4a95dba_
umount: /media/634bad56-5543-40fe-843b-cd31f4a95dba_: not mounted
sam@sam-desktop:~$
答案1
几点:
killall
仅采用进程名称,因此那里的语法不正确。[bracketed]
进程是内核线程,它们不会对被用户空间程序杀死做出响应kill
。类似的东西
mount
正在等待内核响应。它应该挂载然后关闭。据我所知,它唯一挂起的时候是挂载无法通过。考虑-v
在您的挂载选项中使用以查看确切的问题。
我认为你想尝试一下sudo umount -f /media/634bad56-5543-40fe-843b-cd31f4a95dba_
,如果不行的话:sudo umount -l /media/634bad56-5543-40fe-843b-cd31f4a95dba_
。我希望内核能看到卸载并停止之前的挂载操作。
另外,如果这是你的坐骑/etc/fstab
,你可能要考虑使用 UUID而不是“ /dev/sdxn
”设备能在靴子之间更改名称。
答案2
该过程处于不间断睡眠因此无法被杀死。
从维基百科
不可中断的睡眠状态是一种不会立即处理信号的睡眠状态。它只会在等待的资源可用或等待期间发生超时后被唤醒(如果在进入睡眠状态时指定)。它主要由等待磁盘或网络 IO(输入/输出)的设备驱动程序使用。当进程处于不可中断的睡眠状态时,睡眠期间积累的信号将在进程从系统调用或陷阱返回时被注意到。
所以我会检查硬盘和分区是否有错误。
答案3
我认为括号中的进程是由内核线程启动的,因此对系统功能至关重要。在本例中,jbd2 是日志块设备,如果你想使用硬盘,它是必需的。
为什么要终止这个进程?