応答しないプロセスを名前で終了しますが、応答するプロセスは保持します。

応答しないプロセスを名前で終了しますが、応答するプロセスは保持します。

何らかの理由で応答を停止し、CPUリソースを占めるGoogle Chrome Helperプロセスがかなり発生しました。通常は実行しますkillall Google\ Chrome\ Helperが、これにより応答プロセスを含むすべてのプロセスが終了するため、Chromeを再起動する必要があります。

killall応答しないプロセスにのみ影響するフラグはありますか?

ベストアンサー1

1つの方法は、top最も多くのCPUを使用するプロセスのpidを見つけることです。端末でbash CPUホグを起動しました。

bash -c "while true; do :; done"

その後、他の端末で次のように終了できます。

kill $( top -l2 | grep bash | sort -nrk3 | awk '{print $1;exit}' )

ありますので参考にしてください、これはGNUバージョンではなくBSDバージョンですtop

  • -l22回の反復を実行するようにtopに指示します。最初の反復はすべてのプロセスに対して0%CPUのみを報告するため、無視する必要があります。
  • grepBashラインのみをフィルタリングします。 grep式が出力の他の部分と一致する場合は、追加の作業が必要になることがありますtop
  • sort3番目の列(CPU%)に基づいて出力の逆順の数値シーケンス
  • head最初の行を取得する(最も高いCPU)
  • cut最初の列(PID)を取得する
  • 上記は$()コマンド置換で実行され、数値PIDは直接渡されます。kill

GNU / Linuxシステムでこれに対応するものは次のとおりです。

kill $(top -bn1 | grep bash | sort -nrk9 | awk '{print $1;exit}')

おすすめ記事