質問: unixのcpu負荷の自動検知法 hp-ux11ですが、1日に1回、1分間だけcpuの負荷が100% 近くになってしまいとても困っています。 原因となるプロセス名はわかっているので本来はそのバグ を修正すべきなのでしょうが、事情がありそれがなかなか 出来ない状態なので、cpuに負荷がかかったらそのプロセス を殺すとしくみを自動検知で作りたいのですが、その検知 方法がわかりません。 psをポーリングするというのはそ れ自体が負荷となるのでngです。 よろしくお願いします。
回答: 1日に1回そのプロセスが実行されるということは、 1.起動される時間が固定の場合 cronに登録されていないか確認し 登録されている場合は、削除する。 2.shを作成し30秒ぐらいの間隔で プロセス監視し、プロセスがあったらkillする。 <shの例> #!/bin/sh while [ 1 ] do sleep 30; ps_id=`ps -ef | grep xxx` if [ x$ps_id -eq x ] then ; else #ここでプロセスidを取得しkillする kill xx; fi done こんな感じでしょうか? これならpsでのポーリングでもそれほど負担にならないと おもいます。