前言
- 之前連公司堡壘機的時候發現連不上,找運維排查是建立的連結數太多,很多超時連結沒有斷掉,導致不能再建立連結
- 此時,需要手動斷開使用者終端連結,然後百度搜到 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