使用文件或文件結構識別進程
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
? 也用于系統映像。