題 查找在Linux中使用某個端口的進程


我希望能夠找出當前在Linux中使用某個端口的進程。有沒有辦法做到這一點?


130
2017-09-17 18:52


起源


在Windows上,命令是: netstat -anb - djangofan


答案:


你有幾個選擇:

lsof -i tcp:80

將使用tcp端口80為您提供進程列表。

或者,

sudo netstat -nlp

將為您提供所有開放的網絡連接。


132
2017-09-17 19:03



lsof -i | grep {username} 也非常有用,即 lsof -i | grep apache - LawrenceC
對於任何想知道的人, -n :不要解析名字, -l :顯示偵聽服務器套接字, -p :顯示套接字的PID /程序名稱。 - yellavon
我經常加 -P 至 lsof -i tcp:$PORTNUMBER 以便端口作為數字打印回給我。 - js.


netstat -lp

9
2017-09-17 18:54



在Mac上,您必須向-p添加協議選項。所以像:netstat -lp tcp。 - vrish88
在linux上,-p列出了擁有套接字的進程。 - Jürgen Strobel


我使用的是“CentOS 7 minimal”,它也沒有 netstat 也不 lsof。但是很多linux發行版都有socket statistics命令(即 ss)。

以下是執行示例:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

7
2017-10-29 20:54





在Linux中,要查找在端口上運行的進程,請執行以下操作:

lsof -i :<port_number>

例:

lsof -i :8080

2
2018-01-05 19:06



感謝您的幫助。接受的答案中提到了這個命令。如果你有新的東西,請編輯你的帖子。 - Ben N