特定のパターンに一致する長期実行プロセスのリストをどのように取得できますか?

特定のパターンに一致する長期実行プロセスのリストをどのように取得できますか?

ps aux | grep cgi現在実行中のすべてのcgiスクリプトのリストを取得し、各pidの実行時間を取得できることを知っていますps -p [pid] -o etime=。 2つを組み合わせる方法はありますか?または、「長すぎる」実行されているスクリプトのみを返すことをお勧めします。たとえば、45秒)?

理想的には、問題を探して、詳細を電子メールで送信し、「安全のために」プロセスを積極的に終了できるPerlスクリプトに入れることができるものを探しています。 aの出力を束ねてから結果を繰り返す方がいいですか?

ベストアンサー1

私は過去にも同様のことをしました。

ps -A -o etime,pid,user,args| grep init

返品

180-04:55:20    1 root     init [5]

これはPerlで解析するのは簡単です。私はそれを分析するために分割とポップを使用します。

形式は[[dd-]hh:]mm:ssです。

おすすめ記事