在linux中 netstat 用於顯示系統的網路狀態
1,使用netstat 命令
通常我們要查詢通過tcp協議的埠上執行的程序,可以使用 netstat -ntlp 命令實現
netstat 引數很多
如何查詢指定埠上執行的程序名。
這裡使用grep 命令結合 netstat 實現 netstat -ntlp | grep 22
2,使用fuser命令,用於查詢訪問某一檔案的程序
注意這裡的檔案可以是檔名或者tcp、udp埠號。
fuser命令
用於報告程序使用的檔案和網路套接字
例如查詢22埠
fuser 22/tcp 或 fuser -v -n tcp 22
引數說明:
-a 顯示所有命令列中指定的檔案,預設情況下被訪問的檔案才會被顯示。
-c 和-m一樣,用於posix相容。
-k 殺掉訪問檔案的程序。如果沒有指定-signal就會傳送sigkill訊號。
-i 殺掉程序之前詢問使用者,如果沒有-k這個選項會被忽略。
-l 列出所有已知的訊號名稱。
-m name 指定乙個掛載檔案系統上的檔案或者被掛載的塊裝置(名稱name)。這樣所有訪問這個檔案或者檔案系統的程序都會被列出來。如果指定的是乙個目錄會自動轉換成"name/",並使用所有掛載在那個目錄下面的檔案系統。
-n space 指定乙個不同的命名空間(space).這裡支援不同的空間檔案(檔名,此處預設)、tcp(本地tcp埠)、udp(本地udp埠)。對於埠, 可以指定埠號或者名稱,如果不會引起歧義那麼可以使用簡單表示的形式,例如:name/space (即形如:80/tcp之類的表示)。
-s 靜默模式,這時候-u,-v會被忽略。-a不能和-s一起使用。
-signal 使用指定的訊號,而不是用sigkill來殺掉程序。可以通過名稱或者號碼來表示訊號(例如-hup,-1),這個選項要和-k一起使用,否則會被忽略。
-u 在每個pid後面新增程序擁有者的使用者名稱。
-v 詳細模式。輸出似ps命令的輸出,包含pid,user,command等許多域,如果是核心訪問的那麼pid為kernel. -v 輸出版本號。
-4 使用ipv4套接字,不能和-6一起應用,只在-n的tcp和udp的命名存在時不被忽略。
-6 使用ipv6套接字,不能和-4一起應用,只在-n的tcp和udp的命名存在時不被忽略。
- 重置所有的選項,把訊號設定為sigkill.
其他例項:
殺掉開啟readme檔案的程式
$fuser -m -k -i readme
3,使用lsof命令
檢視程序占用哪些檔案
lsof -i:22
查詢Linux埠是否占用
方法 一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i命令,如下圖 linux如何檢視埠被哪個程序占用?二 lsof i 埠號 lsof i 埠號,用於檢視某一埠的占用情況,比如...
linux命令查埠占用以及解決埠占用
舉個例子查4200埠號是否是否被占用 在terminal輸入命令 sudo lsof i 4200 如果埠被占用會出現pid值否則沒有 sudo lsof i 4200 按enter之後出現 command pid user fd type device size off node name ng ...
Linux系統下檢視埠占用以及結束某個程序
在專案開發中有時需要將專案部署到伺服器執行,啟動專案時會用ssh連線伺服器,一般來說,node的相關專案我會用pm2的方式來啟動,但有時為了除錯方便,會簡單的直接用node命令來啟動,這樣就會導致乙個問題,有時候啟動了專案之後就去開發了,等一段時間之後再進行操作時發現ssh連線已經死掉了,當重新進行...