如何在PHP里启动一个进程以后让它在后台运行

在LINUX/UNIX下:

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 [ $alive -eq 0]
then
php /root/run.php > /dev/null &
fi

添加计划任务(每分钟检测一次)

crontab -e
* * * * * /root/monitor.sh > /dev/null &

exec(“commmand&”);

exec(“perl file.pl&”);

符号"&"表示把程序放在后台运行,而调用者继续。

WIN9X/NT下,要用start命令:

exec(“start /xxxxx file.exe”);

WINNT的start命令比WIN9X的多很多选项。

猜你喜欢

转载自blog.csdn.net/guo_qiangqiang/article/details/89713698
今日推荐