macでLISTENとして使用しているポートを調べる方法

  • 69
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ローカルマシンのhttpdが立ち上がらない!とかよくありますよね。
そういう時によく有る原因の一つとして、ポートが既に掴まれている事が有ると思います。
ポートを掴んでるプロセスを特定してkillする事で問題が解消したりします。

下記コマンドでlistenポートとプロセス番号を特定します。

$ sudo lsof -i -P | grep "LISTEN"
mysqld     1011       yokozawa   13u  IPv6 0x9c0fed506xxxxxxx      0t0  TCP *:3306 (LISTEN)
ruby       1346       yokozawa   15u  IPv4 0x9c0fed507xxxxxxx      0t0  TCP *:3000 (LISTEN)
httpd      1496           _www    4u  IPv6 0x9c0fed506xxxxxxx      0t0  TCP *:80 (LISTEN)
httpd      1500           _www    4u  IPv6 0x9c0fed506xxxxxxx      0t0  TCP *:80 (LISTEN)

第二引数がプロセスIDなので解放したいポートで使用されているプロセスを片っ端からkillすると幸せになれます。

例えば、httpdが既に掴まれていて起動しないという場合でしたら

kill -9 1496
kill -9 1500

httpd restart

などとやる感じです。