私は私が作ったHaskellプロセスを持つUbuntuボックスを持っています(任意のサーバープロセスだと思います)。起動時に起動し、何らかの理由で失敗した場合(理想的にはロギング失敗、コード実行失敗など)に備えて再起動したいと思います。
どうすればいいですか?
これで、/etc/init.d/にあるシェルスクリプトを作成しました。このスクリプトは haskell プロセスを開始し、その出力を /var/log/.log にパイプします。モニタリング/再起動するには?
答え1
確認/再開は通常、次のようにチェッカーをスクリプトすることによって行われます。
#!/bin/sh
if ! pgrep -l name-of-executable >/dev/null 2>&1; then
/etc/init.d/your-startup-script.sh
fi
そして電話してください窒素分は次のとおりですcron
。
*/N * * * * /usr/local/bin/checker-script.sh
本当に欲しいなら監視装置Haskellプロセスが実行されている場合(終了コードをキャプチャまたは終了したときにすぐに通知を受け取るように)、より複雑なラッパーが必要です。私は通常この目的のためにPythonを使用します。サブプロセスモジュール実行中のサブプロセスを開始および監視するために必要なすべてのツールがあります。