1

私はレールで作業してきましたが、時々サーバーがバックグラウンドに入り、手動で強制終了する必要があります。これを行うために、次のコマンドを使用しています。

sudo netstat -tulpn | grep port_number
sudo -9 PID

エイリアスできるように、これを1行で行う方法はありますか? または、スクリプトに入れることができるように、PID をコピーする必要なくそれを行う方法さえありますか?

4

2 に答える 2

1
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)

于 2013-06-28T12:25:07.790 に答える
1

私は次のようなものを使用します:

sudo netstat -tlpn | grep ":16667 " | sed -n 's@.* \([0-9]*\)/ruby.*@kill \1@p' | sudo sh

その正確なポートでリッスンしている ruby​​ プロセスのみを強制終了します。

于 2013-06-28T12:28:48.253 に答える