最近lsofでKILLすること増えて、lsofいちいちするのが面倒になったので。
https://stackoverflow.com/questions/9168392/shell-script-to-kill-the-process-listening-on-port-3000
の内容を引数指定にしました。
# !/bin/bash
# @see https://stackoverflow.com/questions/9168392/shell-script-to-kill-the-process-listening-on-port-3000
pid=$(lsof -i:$1 -t)
echo ${pid}
if [ -z "${pid}" ]; then
echo "port: '$1' not found. quit."
exit 1
fi
kill -TERM $pid || kill -KILL $pid
これをパスの通ったところに(私は ~/bin
とかにパスを通しています) killport
とか適当な名前で保存して755のpermissionとかすればいいよね。使う時は以下のように。lsofで前後確認するとちゃんとKILLされたのがわかる
$ lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 70638 ms2sato 9u IPv4 0xe754e6b893fe4a91 0t0 TCP *:hbci (LISTEN)
$ killport 3000
70638
$ lsof -i:3000
$