• 締切済み

cron(最低1分おき)ではなく、10秒おき、またはリアルタイムで監視動作を行いたい

プロセス数を監視し、数が200以上のとき「kill sendmail」と「kill httpd」を 実行するという単純な sh を、cron を使って1分おきに動かしています。 #!/bin/bash A=(`ps auxf |wc`) if test $A -gt 200 then kill sendmail kill httpd fi この監視動作を、cronを使った1分おきではなくて、 10秒おき、または、ほぼリアルタイム、にしたいのですが、 どのような記述に変更すればよいでしょうか。 プロセス数をリアルタイムで監視し、数が200以上になったら すぐにそれを検知できるのが、一番の理想です。 上記shの記述を、sleep を挟んで、何個も追加記述することも 考えましたが・・ どなたかサンプル記述を頂けましたら大変嬉しいです。 どうぞ宜しく御願いいたします。

みんなの回答

  • uwi
  • ベストアンサー率74% (55/74)
回答No.1

cronでなら * * * * * kill.sh & sleep 10; kill.sh とか無理やり出来そうですが、 sh書いてるならwhileで無限ループしておけばいいのでは? #!/bin/bash while true do A=(`ps auxf |wc`) if test $A -gt 200 then kill sendmail kill httpd fi sleep 10 done

tanpopo012
質問者

お礼

バッチリです。ありがとうございました。