Linux-php 前台调用一段程序,并使其不会被打断,当前程序也不必等待和挂起

需求定制 需求定制 主题:1050 回复:2283

Linux-php 前台调用一段程序,并使其不会被打断,当前程序也不必等待和挂起

虐人心 发布于 2017-10-01 字数 33 浏览 1057 回复 3

请详细说明,多谢各位大佬。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(3

夜无邪 2017-10-21 3 楼

在PHP-FPM模式下,调用下面的函数,可以实现忽略用户中断和用户无需等待执行结果,立即返回。

//忽略用户中断
ignore_user_abort(true);
//直接返回,不等待执行结束
fastcgi_finish_request();
浮生未歇 2017-10-08 2 楼

如果没有内存不足的问题话

$sh_url="sh /home/continue_insert.sh " ;
exec($sh_url. " > /dev/null &");

否则,可以考虑linux screen 命令。

浮生未歇 2017-10-08 1 楼

system(“nohup ./test.sh >/dev/null &”);这样写可以在后台运行,因为system函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起,另外nohup命令忽略所有挂断(SIGHUP)信号。