GNU/Linux >> Linux の 問題 >  >> Linux

古いプロセスを見つけて (そして kill して)

解決策 1:

ps 、 awk 、 kill を組み合わせてこれを行うことができます:

ps -eo pid,etime,comm

プロセス PID、プロセス開始からの経過時間、およびコマンド名を引数なしで 3 列に出力します。経過時間は次のいずれかのようになります:

mm:ss
hh:mm:ss
d-hh:mm:ss

1 週間以上実行されているプロセスが必要なので、その 3 番目のパターンに一致する行を探します。次のように、awk を使用して、実行時間とコマンド名でプロセスをフィルター処理できます。

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }'

これは、7 日以上実行されている「mycommand」に一致するすべてのコマンドの pid を出力します。そのリストを kill にパイプすれば完了です:

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }' | kill -9

解決策 2:

killall --quiet --older-than 1w process_name


Linux
  1. ゾンビプロセスとは何ですか?ゾンビプロセスを見つけて殺す方法は?

  2. メモリとCPU使用率で上位のプロセスを見つける方法

  3. Ubuntu でプロセスを見つけて強制終了する方法

  1. Linuxでゾンビプロセスを見つけて殺す方法

  2. Linux:ゾンビ プロセスを見つけて強制終了する

  3. ファイルを検索してコピーする

  1. パターンを見つけて移動しますか?

  2. メモリとCPUの使用量で実行中のプロセスのトップ10を探す

  3. LinuxでゾンビとD状態のプロセスを強制終了する最良の方法