2016-03-29 98 views
0

基本上,monit在文件「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」調用「開始」,直到文件可用。但它似乎重啓了每個週期的過程(停止和開始)。

這裏有什麼配置錯嗎?

感謝任何幫助。

+0

爲什麼你使用「檢查過程」塊?查看文檔,如果文件不存在於「檢查文件」塊中,您似乎可以執行腳本 https://mmonit.com/monit/documentation/monit.html#EXISTENCE-TESTING – alex9311

回答

0

重啓每個週期的原因是因爲product_id文件尚未準備就緒。如果檢查失敗,依賴於product_id的任何事情都將重新啓動。

我會建議編寫一個腳本,檢查product_id是否存在,如果它存在,就啓動CAD。然後,您可以在monit中從「檢查程序」塊中運行此腳本。