網頁

2019/11/12

Mac 找出被佔用的IP及port find IP port usage

Mac 檢視IP port被佔用的方法如下。


Mac是Unix-like系統,所以可在terminal使用lsof -n -i | grep LISTEN找出系統中正被使用的port IP及使用的程序。


例如下面列出我的Mac中目前正在使用IP的程序。

$ lsof -n -i | grep LISTEN
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
rapportd    382 matt    3u  IPv4 0xb348e99b673bb4a9      0t0  TCP *:60963 (LISTEN)
rapportd    382 matt    4u  IPv6 0xb348e99bb394edc1      0t0  TCP *:60963 (LISTEN)
Code\x20H   701 matt   41u  IPv4 0xb348e99b5df294a9      0t0  TCP 127.0.0.1:6362 (LISTEN)
com.docke   853 matt    8u  IPv4 0xb348e99b61b39e09      0t0  TCP 127.0.0.1:49284 (LISTEN)
idea      14112 matt   64u  IPv4 0xb348e99b90f79769      0t0  TCP 127.0.0.1:49175 (LISTEN)
idea      14112 matt  240u  IPv4 0xb348e99b7250f0c9      0t0  TCP 127.0.0.1:6942 (LISTEN)
idea      14112 matt  244u  IPv4 0xb348e99b730a6e09      0t0  TCP *:58255 (LISTEN)
idea      14112 matt  329u  IPv4 0xb348e99bae1f60c9      0t0  TCP 127.0.0.1:52557 (LISTEN)
idea      14112 matt  542u  IPv4 0xb348e99b72f68e09      0t0  TCP 127.0.0.1:63342 (LISTEN)
java      24406 matt   43u  IPv6 0xb348e99bb394e241      0t0  TCP *:64221 (LISTEN)
java      26850 matt  209u  IPv6 0xb348e99bbb07fa81      0t0  TCP *:56253 (LISTEN)
java      26907 matt  174u  IPv6 0xb348e99b6758c941      0t0  TCP *:glrpc (LISTEN)

如果要找出特定port號是否有被使用,使用lsof -n -i:<port> | grep LISTEN
<port>為要查詢的port號

例如下面找出9080(glrpc) port是否正被使用,有的話就會顯示。

$ lsof -n -i:9080 | grep LISTEN
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java      26907 matt  174u  IPv6 0xb348e99b6758c941      0t0  TCP *:glrpc (LISTEN)

如果要清除被佔用的port,在terminal執行kill <pid>命令。
<pid>為程序ID(Process ID)也就是使用被佔用port號程序的PID號碼。

例如下面執行kill 26907把上面使用9080(glrpc) port的程序給清除。

$ kill 26907

清除佔用的程序後再次查看9080 port是否被佔用,結果查不出任何資料,代表該程序已被刪除,9080 port已經沒被使用了。

$ lsof -n -i:9080 | grep LISTEN


沒有留言:

張貼留言