Posted at

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

More than 3 years have passed since last update.

ローカルマシンの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

などとやる感じです。