2016-12-07 6 views
0

選択したプロセスがハングしていないことを確認する必要があります。私は、このプロセスを、ある種の/ procファイルに書き込むようにプログラムして、他のプロセス/モジュールによって定期的に監視することを考えました。ファイルに何らかの変更がない場合、アプリケーションはハングアップしたとみなされます。 uCのウォッチドッグと同じように。単一プロセスのウォッチドッグ[Linux]

しかし、これが最善のアプローチであるかどうかはわかりません。私は深いLinuxエンジニアリングにはあまり興味がないので、モジュール、/ procファイルシステムなどの作成を学ぶ前に、どの方法が最も簡単かを尋ねる方がよいと考えました。

私はMonit(https://mmonit.com/monit/)に関する情報を見つけました。多分この方が良いでしょうか?

ここで「ウォッチドッグ」機能を実装する最良の方法は何ですか?

ありがとうございます!

パヴェル

+0

どのinitシステムが使用していますか? –

+0

ランレベルをサポートしていないBusyBox initを使用します。私は/ etc/rc *エントリを持っていませんが、init.dスクリプトを実行します。これは@FrankMeerkötterの質問に答えることですが、Felipe Lavrattiはすでに解決策を見つけるのを助けてくれました。ありがとう! –

答えて

1

OS独立の溶液を定期的に実行され、単にステータスビットまたはバイトとして実装される1つのまたは複数のソフトウェアウォッチドッグをサポートし、ウォッチドッグ・スレッドを作成することです。問題のプロセスは、ウォッチドッグを叩く(状態をクリアする)責任があります。ウォッチドッグスレッドは、ステータスをチェックするループです。それがクリアされている場合は、それを設定します。それがクリアされていない場合、アラームが発せられます。ループのたびにステータスがチェックされないようにタイミングを調整することができます。

このソリューションは非常に柔軟です。また、ハードウェアウォッチドッグに結び付けることもできます。ハードウェアウォッチドッグにすべてのソフトウェアウォッチドッグがパトロールされている場合にのみ、ハードウェアウォッチドッグをパッチングします。

関連する問題