普通にポートを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)