我有一台拒绝暂停的笔记本电脑。在最新的 Ubuntu 上,我关闭它的唯一方法是按住电源按钮。
原因是因为我有一个nfs
共享已离线,并且某些东西仍在尝试向其提交数据。我杀死了 中列出的所有内容sudo fuser
,但它仍然很忙。即使 poweroff 命令也会因为无法关闭文件系统而卡住。
我怎样才能找出仍然持有它的是什么,或者kill
它unmount
,并强制暂停,而不是手动、强制、关闭?
答案1
有时,如果访问文件不需要打开它,您可能不会在任何进程文件描述符中看到该文件。例如,stat(2)
系统调用将获取文件的状态而不实际打开它,因此您不会在进程的文件描述符中看到它。
您可以尝试搜索任何处于 D 状态(不间断睡眠)的进程,并使用常识来尝试了解这是否是使磁盘保持繁忙的进程。
ps -eo pid,ppid,start,user,state,comm |grep -w D
如果幸运的话,您将找到持有 NFS 共享的进程并能够杀死它,然后是unmount
磁盘。
答案2
如果您不太关心是什么阻碍了您,只是想关闭/暂停等,您应该能够使用它来强制卸载卷,并警告可能的数据丢失(但看不到它有任何影响)比硬关机更糟糕)。即便如此,只有当 NFS 无法合法访问时您才会真正想要执行此操作。
umount -f -l /foo/nfs