linux查詢已打開的文件或已經執行進程打開的文件


1.fuser

#fuser [-ki] [-singal] file/dir
參數:
-k:找出使用文件/目錄的PID,並試圖將sigkill信號給PID
-i:必須與-k配合在刪除PID之前會先要求用戶確認
-sigal:如 -1  -15 等,若不添加的話,默認是sigkill(-9)
范例一:找出當前目錄使用的PID
#fuser .
 
2.lsof 查出某個進程打開或使用的文件或設備
參數:
-a:需要多項數據“同時成立”才顯示出結果的情況
-U:僅列出類UNIX系統的套接字文件類型
-u:后面接用戶名,列出該用戶相關進程所打開的文件
+d:后面接目錄,即找出某個目錄下已經打開的文件
 
范例一:列出當前系統上所有已經打開的文件和設備
#lsof
 
范例二:僅針對root列出所有進程打開的套接字文件
#lsof  -u root  -a -U
 
范例三:請列出當前系統上所有啟動的外部設備
#lsof  +d /dev
 
范例四:顯示root的bash進程所有打開的文件
#lsof -u root |grep bash
 
3.pidof
#pidof  [-sx] program_name
參數:
-s:僅列出一個pid而不列出所有的pid
-x:同時列出該程序名可能的ppid進程的pid
 
范例一:列出當前系統init的pid
#pidof init
 
范例二:找出bash即以ppid的幾個主要的pid
#pidof -x bash


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM