linux查詢系統埠以及占用情況

2021-08-16 04:50:45 字數 1374 閱讀 4945

在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連線已經死掉了,當重新進行...