2016-03-29 26 views
0

基本的には、ファイル "product_id"の準備ができたら、プロセス "CAD"を開始するためのmonit。私の設定は以下の通りです:ファイルがプロセスを開始するのを待ちますか?

check file product_id with path /etc/platform/product_id 
    if does not exist then alert 

check process cad with pidfile /var/run/cad.pid 
    depends on product_id 
    start = "/bin/sh -c 'cd /home/root/cad/scripts;./run-cad.sh 2>&1 | logger -t CAD'" with timeout 120 seconds 
    stop = "/bin/sh -c 'cd /home/root/cad/scripts;./stop-cad.sh 2>&1 | logger -t CAD'" 

"monit"はファイルが利用可能になるまで "start"を呼び出すことを期待しています。しかし、サイクルごとにプロセスを再開(停止と開始)したようです。

ここに何か問題がありますか?

ありがとうございました。

+0

なぜ「チェックプロセス」ブロックを使用しますか?ドキュメントを見ると、ファイルが「チェックファイル」ブロックに存在しない場合にスクリプトを実行できるようです。 https://mmonit.com/monit/documentation/monit.html#EXISTENCE-TESTING – alex9311

答えて

0

各サイクルを再起動する理由は、product_idファイルが準備できていないためです。チェックが失敗すると、product_idに依存するものはすべて再起動されます。

product_idの存在を確認し、それがあればCADを起動するスクリプトを書くことをお勧めします。このスクリプトは、monitの "check program"ブロックから実行できます。

関連する問題