您好,登錄后才能下訂單哦!
有時候我們需要umount某個掛載目錄時會遇到如下問題:
[root@localhost /]# umount /data/
umount.nfs: /data: device is busy
通過這條命令查看:
[root@localhost /]# fuser -m -v /data/
? ? ? ? ? ? ? ? ? ? ?用戶? ? ?進程號 權限? ?命令
/data/:? ? ? ? ? ? ? root? ? ? ?2798 ..c.. bash
? ? ? ? ? ? ? ? ? ? ?root? ? ? ?2996 ..c.. su
-v 表示 verbose 模式。進程以 ps 的方式顯示,包括 PID、USER、COMMAND、ACCESS 字段
-m 表示指定文件所在的文件系統或者塊設備(處于 mount 狀態)。所有訪問該文件系統的進程都被列出。
如上所示,有兩個進程占用了,將其kill掉,再重新取消掛載。
[root@localhost /]# kill -9 2798
[root@localhost /]# kill -9 2996
[root@localhost /]# umount /data/
[root@localhost /]#
成功!
fuser 概述
fuser命令是用來顯示所有正在使用著指定的file, file system 或者 sockets的進程信息。
[root@gc-statis2 ]# fuser -m -v tests/
? ? ? ? ? ? ? ? ? ? ?用戶? ? ?進程號 權限? ?命令
tests/:? ? ? ? ? ? ? root? ? ? ?7300 F.ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7301 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7302 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7303 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7304 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7305 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7306 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7307 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7308 ..ce. php-fpm
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7309 ..ce. php-fpm? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?root? ? ? 18891 ..c.. bash
同時fuser 可以用來查找哪些進程正在使用指定的端口(network port).
[root@gc-statis2 ]# fuser -v -n tcp 80
? ? ? ? ? ? ? ? ? ? ?用戶? ? ?進程號 權限? ?命令
80/tcp:? ? ? ? ? ? ? root? ? ? ?7975 F.... nginx
? ? ? ? ? ? ? ? ? ? ?www? ? ? ? 7976 F.... nginx
fuser 常用場景
fuser通常被用在診斷系統的“resource busy”問題,通常是在你希望umount指定的掛載點得時候遇到。 如果你希望kill所有正在使用某一指定的file, file system or sockets的進程的時候,你可以使用-k option。
fuser –k? /path/to/your/filename
這時fuser會向所以正在使用/path/to/your/filename的進程發送SIGKILL。如果你希望在發送之前得到提示,可以使用-i 選項。
fuser –k –i /path/to/your/filename
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。