system(“nohup ./test.py $s &”);
这个不会在后台运行,php会一直挂起直到test.py结束。
system(“nohup ./test.py $s >>log.txt &”);
这样写才能在后台运行因为system函数启动一个程序并希望保持在后台运行,
必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则PHP 会在程序执行结束前挂起。
比如:
1、 system(“nohup ./test.py $s >>/tmp/output.txt &”);
2、 system(“nohup ./test.py $s > /dev/null 2>&1 &”);
(2>&1是错误输出转到标准输出,想读错误输出就加2>&1,不加读不到错误)
或 system(“nohup ./test.py $s > /dev/null &”);
本文介绍了如何使用PHP的system函数来实现脚本在后台运行的方法。重点在于通过nohup命令结合重定向来确保程序能在后台持续运行,并且正确处理输出流。文章提供了具体的示例代码帮助理解。
1605

被折叠的 条评论
为什么被折叠?



