我有一个这样的脚本:
#!/usr/bin/php
<?php
file_put_contents('/home/vagrant/sleep.pid', getmypid());
sleep(9);
exit(0);
我想编写我的Monit配置,以确保此应用程序始终运行。这是我的monit配置:
set daemon 5
check process program with pidfile /home/vagrant/sleep.pid
start program = "/usr/bin/php /home/vagrant/myphp.php"
但是在我退出程序后,Monit并没有尝试再次运行它。这有点意义,但我想知道是否有办法告诉Monit重新运行这个过程。
答案 0 :(得分:2)
在与Monit玩游戏之后,我发现我没有正确运行Monit。
首先,您需要将以下配置添加到您的监控文件中:
set httpd port 2812 and allow monit:monit
set daemon 5
check process program with pidfile /home/vagrant/sleep.pid
start program = "/usr/bin/php /home/vagrant/myphp.php"
然后使用以下命令运行monit:
monit -c monit.conf
现在Monit在后台运行并重新运行该进程,如果它死了,您可以重新启动或启动特定程序:
monit -c monit.conf start all
OR
monit -c monit.conf stop my_role