プログラムが実行されていることを確認するために、cron で簡単なスクリプトを使用しました。そうでない場合は、起動します。これはあなたが探している完璧なソリューションではないかもしれませんが、シンプルでうまく機能します。
#!/bin/bash
#make-run.sh
#make sure a process is always running.
export DISPLAY=:0 #needed if you are running a simple gui app.
process=YourProcessName
makerun="/usr/bin/program"
if ps ax | grep -v grep | grep $process > /dev/null
then
exit
else
$makerun &
fi
exit
次に、毎分または 5 分ごとに cron ジョブを追加します。
Monit はこれに最適です :)
監視するように monit に指示する単純な構成ファイルを作成できます。 TCP ポート、PID ファイルなど
monit は、監視しているプロセスが利用できない/メモリを使いすぎている/CPU を長時間固定しているなどの場合に、指定したコマンドを実行します。また、何が起こったのか、それに対して何かできるかどうかを知らせる電子メール アラートも表示されます。
何か問題が発生したときに早期に警告を発しながら、Web サイトの負荷を維持するために使用しています。
-- あなたの忠実な従業員、Monit