什么是守护进程?
个人理解守护进程和普通进程区别是指:将后台程序变成一种服务,比如说,用命令行输入启动程序,如果不是守护进程的话,一旦命令行窗口关闭,程序就终止了;而如果启动守护进程,则退出命令行窗口之后,服务一直处于运行状态。r
如何将我的php脚本以守护进程的方式一直运行?
写好php脚本。建议定期检测内存占用,核心逻辑就不写了。这个跟业务有关。 if(memory_get_usage()>100*1024*1024){ exit(0);//大于100M内存退出程序,防止内存泄漏被系统杀死导致任务终端 } 假设该php文件的路径为/root/
run.php
打开终端 setsid php /root/
run.php
> /dev/null & 编辑进程监控脚本,当进程不存在时,自动重启 /root/
monitor.sh
#!/bin/bash alive=`ps aux|grep root/run|grep -v grep|wc -l` if then php /root/
run.php
> /dev/null & fi 添加计划任务(每分钟检测一次) crontab -e * * * * * /root/
monitor.sh
> /dev/null &