ポートを指定してKillコマンドを実行する方法

commandサムネイルCommand
この記事は約2分で読めます。

普通にポートをkillしようとすると、まずはlsofコマンドでポートを検索し、削除したいpIDを指定してkillコマンドを実行します。

$ lsof -i:8000

COMMAND   PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    86862 teruteru  142u  IPv6 0x81f8dc72a2a7a437      0t0  TCP *:http-alt (LISTEN)
java    86862 teruteru  144u  IPv6 0x81f8dc72a089abb7      0t0  TCP localhost:50607->localhost:http-alt (ESTABLISHED)
java    86862 teruteru  147u  IPv6 0x81f8dc72a08aa437      0t0  TCP localhost:http-alt->localhost:50607 (ESTABLISHED)

$ kill 86862

これを毎回やるのは2度手間なので、一括でやってしまいましょう。

$ kill -9 $(lsof -t -i:ポート番号)

例)$ kill -9 $(lsof -t -i:8000)

このようにすることで、存在しないポートの場合は「not enough arguments」と表示されますが、存在する場合は削除されます。

これを「&&」で繋ぐことで、複数ポートを一括で削除することができます。

kill -9 $(lsof -t -i:8000) && kill -9 $(lsof -t -i:8001) && kill -9 $(lsof -t -i:8002)