私はレールで作業してきましたが、時々サーバーがバックグラウンドに入り、手動で強制終了する必要があります。これを行うために、次のコマンドを使用しています。
sudo netstat -tulpn | grep port_number
sudo -9 PID
エイリアスできるように、これを1行で行う方法はありますか? または、スクリプトに入れることができるように、PID をコピーする必要なくそれを行う方法さえありますか?
私はレールで作業してきましたが、時々サーバーがバックグラウンドに入り、手動で強制終了する必要があります。これを行うために、次のコマンドを使用しています。
sudo netstat -tulpn | grep port_number
sudo -9 PID
エイリアスできるように、これを1行で行う方法はありますか? または、スクリプトに入れることができるように、PID をコピーする必要なくそれを行う方法さえありますか?
sudo kill -9 `sudo netstat -tulpn | grep port_number | tail -c 23 | sed -e 's/\s*\(.*\)/\1/g' -e 's/\([0-9]*\).*/\1/g'`
ただし、部分一致を殺すので、それはかなり危険です(ポート8081に何かがあり、これを81で実行するとします。それが最初のリストである場合、8081のアイテムを殺しますnetstat)
私は次のようなものを使用します:
sudo netstat -tlpn | grep ":16667 " | sed -n 's@.* \([0-9]*\)/ruby.*@kill \1@p' | sudo sh
その正確なポートでリッスンしている ruby プロセスのみを強制終了します。