0%

list-process-port

port 對應的 process

有時候我們想知道在系統中那些 process 用掉了那一個 port。
這篇就是要如何向系統查詢這樣的資訊。
linux 和 mac 有些差異。所以分開說一下。

linux

1
2
3
4
5
6
7
8
 $ netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.11:44622 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 34/sshd -o PermitRo
tcp 0 0 :::2375 :::* LISTEN 18/dockerd
tcp 0 0 :::22 :::* LISTEN 34/sshd -o PermitRo
udp 0 0 127.0.0.11:51711 0.0.0.0:* -

在這個範例中, port 22 是由 sshd 這個 process 使用,
而且 sshd 這個 process 的 pid 是 34。

mac

查詢目前使用中的 port 及 process id

1
2
3
4
5
6
7
 $ lsof -n -i | grep LISTEN
LINE 598 oo 12u IPv4 0x6ef39eebaf12837d 0t0 TCP 127.0.0.1:10400 (LISTEN)
node 1720 oo 11u IPv4 0x6ef39eebaf102625 0t0 TCP 127.0.0.1:61161 (LISTEN)
TaishinBa 2322 oo 3u IPv4 0x6ef39eeb9bd31625 0t0 TCP 127.0.0.1:40557 (LISTEN)
AMPDevice 2394 oo 10u IPv4 0x6ef39eebaf114fed 0t0 TCP *:50090 (LISTEN)
pycharm 3649 oo 107u IPv4 0x6ef39eeba2643e2d 0t0 TCP 127.0.0.1:6942 (LISTEN)
pycharm 3649 oo 292u IPv4 0x6ef39eebc12419b5 0t0 TCP 127.0.0.1:63342 (LISTEN)

這個範例中, pycharm 使用了 6942 及 63342 兩個 port,對應的 pid 是 3649。

下次查 process 和 port 及 pid 就可以用這樣的方式來查了。