LINUX中檢視埠與相應程序

2021-06-25 23:48:06 字數 1312 閱讀 5770

standard

本文介紹了在 linux 中檢視埠占用情況的一些方法。

全程需要用到下列程式:

netstat:乙個命令列工具,用來顯示 網路連線,路由表,和一些 網路介面資料

fuser:乙個命令列工具,用來表示經常使用檔案或者套接字

lsof:乙個命令列工具,用來列出當前系統開啟檔案的工具

/proc/$pid:在 linux的 /proc 目錄下包含了乙個名為 pid (pid為所需程序對應的值)的檔案,其包含每個對應pid的程序的 資訊,通常,包含程序的名字和開啟的埠等。。

# 注:可能需要使用 root 許可權使用上述命令

使用命令:

netstat -tulpn

# 注,如果 pid/program name 不顯示的話,可能是許可權不夠,請嘗試 sudo

使用 grep來過濾結果

• # netstat -tulpn | grep :22

後面的引數是指定需要顯示的一些內容,例如圖中列出了ip位址,埠號,相應程序pid等內容。

如果知道埠號,想知道對應的程序的一些資訊,就可以使用下面的fuser命令

檢視 哪個 程序pid 占用了 53 埠,使用命令

# fuser 53/tcp

# 注,同上,可能有些 程序許可權不夠看不到,嘗試 sudo。

檢視該 pid 對應的是哪個程序 ,使用命令:

ls -l /proc/3353/exe

和最上面的介紹一樣,每個程序 os 都會在 /proc 路徑下給建立乙個對應pid的資料夾,裡面存放一些程序資訊,exe中即儲存了名字。。

# 注,還是許可權問題,然後對應 那個pid 是dnsmasq 程序,man dnsmasq 得知,該程序為乙個輕量級 dhcp 和 dns 快取伺服器

檢視 乙個程序 當前的工作路徑

使用命令:

# ls -l /proc/3353/cwd

或者使用 pwdx 命令:

pwdx 3353

檢視乙個 程序 的 owner

# ps aux | grep 3353

檢視 指定埠 的程序:

# lsof -i tcp:22

程序埠檢視

今天遇到apache的httpd服務開啟不了,報錯是服務埠位址x被占用。解決步驟為 檢視程序的埠。檢視的命令為 1,netstat tuanp t表示tcp協議 u表示udp協議 a表示顯示監聽 非監聽套接字。n表示以數字形式,而不是解析成host,port or user names.p表示顯示程...

Linux如何檢視埠及程序

方法一 1.通過lsof命令檢視pid 1.1 簡單而實用的檢視 lsof i 8080 1.2 ipv4 ipv6 lsof pnl m i4 i6 也可以使用 lsof pnl m i4 i6 grep 8080 lsof list open files 是乙個列出當前系統開啟檔案的工具。在li...

linux檢視程序是否啟動,檢視埠占用

1 命令 ps ef grep processname grep v grep如 檢視redis是否啟動,從下圖可以看出,redis啟動了,程序id為71882 71887,埠號7004 7005。如果想要殺掉上面的redis程序,可移執行kill 9 71882 71887 2 如果知道埠號,也可...