[linux] fuser程式顯示檔案

Moke丶青發表於2020-11-29

fuser命令是用來顯示所有正在使用著指定的file, file system 或者 sockets的程式資訊。
使用檔案或檔案結構識別程式

補充說明
fuser命令 用於報告程式使用的檔案和網路套接字。fuser命令列出了本地程式的程式號,那些本地程式使用file,引數指定的本地或遠端檔案。對於阻塞特別裝置,此命令列出了使用該裝置上任何檔案的程式。

每個程式號後面都跟隨一個字母,該字母指示程式如何使用檔案。

c:指示程式的工作目錄。
e:指示該檔案為程式的可執行檔案(即程式由該檔案拉起)。
f:指示該檔案被程式開啟,預設情況下f字元不顯示。
F:指示該檔案被程式開啟進行寫入,預設情況下F字元不顯示。
r:指示該目錄為程式的根目錄。
m:指示程式使用該檔案進行記憶體對映,抑或該檔案為共享庫檔案,被程式對映進記憶體。

語法
fuser(選項)(引數)
選項

-a:顯示命令列中指定的所有檔案;
-k:殺死訪問指定檔案的所有程式;
-i:殺死程式前需要使用者進行確認;
-l:列出所有已知訊號名;
-m:指定一個被載入的檔案系統或一個被載入的塊裝置;
-n:選擇不同的名稱空間;
-u:在每個程式後顯示所屬的使用者名稱。

引數
檔案:可以是檔名或者TCP、UDP埠號。

例項
要列出使用/etc/passwd檔案的本地程式的程式號,請輸入:

fuser /etc/passwd

要列出使用/etc/filesystems檔案的程式的程式號和使用者登入名,請輸入:

fuser -u /etc/filesystems

要終止使用給定檔案系統的所有程式,請輸入:

fuser -k -x -u -c /dev/hd1  或者  fuser -kxuc /home

任一命令都列出了程式號和使用者名稱,然後終止每個正在使用/dev/hd1 (/home)檔案系統的程式。僅有root使用者能終止屬於另一使用者的程式。如果您正在試圖卸下/dev/hd1檔案系統,而一個正在訪問/dev/hd1檔案系統的程式不允許這樣,您可能希望使用此命令。

要列出正在使用已從給定檔案系統刪除的檔案的全部程式,請輸入:

fuser -d /usr檔案
/dev/kmem 用於系統映像。
/dev/mem 也用於系統映像。

相關文章