macでport確認・開放(コマンド)

プロジェクト乱立の中、あっちのプロジェクトとこっちのプロジェクトで同じport使ってたらしくエラーがでた。

10:42:09,794 ERROR ~ Could not bind on port 9011

フレームワークは終了したのになんでportは専有されたままなのー。

ということで、portの状態を調べます。

$ netstat -an
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4       0      0  192.168.000.000.59857  000.000.000.000.443     ESTABLISHED
tcp4       0      0  192.168.000.000.59784  000.000.000.000.443     LAST_ACK
tcp4       0      0  192.168.000.000.59774  000.000.000.000.80      CLOSE_WAIT
tcp46      0      0  *.9011                 *.*                     LISTEN
...(略。たくさん)...

むっちゃある。

$ lsof -i -P
launchd       1           root   25u  IPv6 0x697f98f000000007      0t0    TCP localhost:631 (LISTEN)
launchd       1           root   28u  IPv4 0x697f98f000000007      0t0    TCP localhost:631 (LISTEN)
launchd       1           root   44u  IPv4 0x697f98f000000007      0t0    TCP localhost:631 (LISTEN)
launchd       1           root   45u  IPv6 0x697f98f000000007      0t0    TCP localhost:631 (LISTEN)
iCoreServ    53           root   13u  IPv4 0x697f98f000000007      0t0    TCP localhost:37000 (LISTEN)
Adobe\x20   981        kobachi   26u  IPv4 0x697f98f000000007      0t0    TCP localhost:15000 (LISTEN)
java       2503        kobachi   17u  IPv4 0x697f98f000000007      0t0    TCP *:49000 (LISTEN)
java       2503        kobachi  145u  IPv6 0x697f98f000000007      0t0    TCP *:9011 (LISTEN)
mysqld     4601         _mysql   17u  IPv6 0x697f98f000000007      0t0    TCP *:300 (LISTEN)
LINE       6435        kobachi   21u  IPv4 0x697f98f000000007      0t0    TCP localhost:10000 (LISTEN)

だいたい、使いたいのに使えないportはLISTENの状態になっているのではないでしょうか。

grepを使うと、特定の状態や特定のportを調べることもできます。便利!

$ lsof -i -P | grep "LISTEN"
Adobe\x20   981 kobach   26u  IPv4 0x697f98f000000007      0t0  TCP localhost:15000 (LISTEN)
LINE       6435 kobach   21u  IPv4 0x697f98f000000007      0t0  TCP localhost:10000 (LISTEN)
studio    12883 kobach   46u  IPv4 0x697f98f000000007      0t0  TCP localhost:6000 (LISTEN)
studio    12883 kobach  117u  IPv4 0x697f98f000000007      0t0  TCP localhost:8000 (LISTEN)
studio    12883 kobach  355u  IPv4 0x697f98f000000007      0t0  TCP localhost:63000 (LISTEN)
java      15572 kobach   27u  IPv4 0x697f98f000000007      0t0  TCP *:8000 (LISTEN)
java      15572 kobach  142u  IPv6 0x697f98f000000007      0t0  TCP *:9011 (LISTEN)
java      16821 kobach  173u  IPv6 0x697f98f000000007      0t0  TCP *:50000 (LISTEN)
adb       30896 kobach    7u  IPv4 0x697f98f000000007      0t0  TCP localhost:5000 (LISTEN)
node      36624 kobach   13u  IPv6 0x697f98f000000007      0t0  TCP *:3000 (LISTEN)

$ lsof -i -P | grep "9011"
java      15572 kobach  142u  IPv6 0x697f98f2e76b2e17      0t0  TCP *:9011 (LISTEN)

あとは、portを専有しているプロセスをkillしてあげることで、portの利用が可能になります。

kobachi-no-iMac:a kobachi$ sudo kill -9 15572
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク