Linux - fuser 命令


前言

  • 之前連公司堡壘機的時候發現連不上,找運維排查是建立的鏈接數太多,很多超時鏈接沒有斷掉,導致不能再創建鏈接
  • 此時,需要手動斷開用戶終端鏈接,然后百度搜到 fuser 可以斷開用戶終端鏈接

 

命令作用

有三種解釋

  • 使用文件或 socket 識別進程
  • 顯示哪些進程使用命名文件、socket 或文件系統
  • 顯示使用指定文件或文件的進程的 pid 系統

 總的來說就是文件+進程

 

語法格式

fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME...

 

參數列表

參數 作用
-a,--all 顯示未使用的文件
-i,--interactive 殺死前的交互式詢問(忽略而不使用-k)
-k,--kill 終止訪問命名文件的進程
-l,--list 列出可用的信號名稱
-m,--mount 顯示使用命名文件系統或塊設備的所有進程
-M,--ismountpoint 僅當NAME是掛載點時滿足請求
-n,--namespace 在此名稱空間中搜索命名空間(文件、udp或tcp)
-s,--silent 靜默操作
-SIGNAL  發送這個信號而不是SIGKILL
-u,--user 顯示用戶ID
-v,--verbose 詳細輸出
-w,--writeonly 殺死具有寫訪問權限的進程
-V,--version 版本信息
-4,--ipv4 搜索ipv4 socket
-6,--ipv6

搜索ipv6 socket

- reset 重置

不會所有參數都講

 

基礎用法

fuser /root

PID后跟的字符說明了進程以何種方式與該目錄/文件關聯

  • c  指示進程的工作目錄
  • e  指示該文件為進程的可執行文件(即進程由該文件拉起)
  • f  指示該文件被進程打開,默認情況下f字符不顯示
  • F  指示該文件被進程打開進行寫入,默認情況下F字符不顯示
  • r  指示該目錄為進程的根目錄
  • m  指示進程使用該文件進行內存映射,抑或該文件為共享庫文件,被進程映射進內存
  • . 占位符,默認顯示模式中省略

 

詳細輸出

fuser -v /root

 

殺掉進程

fuser -k /dev/pts/0 

這是斷開本地 ssh 連接阿里雲服務器的終端

 

殺掉進程並詢問

fuser -v -i -k /dev/pts/0

 


免責聲明!

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



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