我在Linux Ubuntu中有一个PHP脚本说test.php
,在这个PHP脚本中我使用shell_exec()
启动了几个后台进程。
当我执行php test.php
时,后台进程按预期启动,但是当我运行php test.php &
时,这几个后台进程都没有启动。
它不是从后台进程启动后台进程的受支持方式,还是有更好的解决方法?
答案 0 :(得分:1)
尝试php test.php < /dev/null &
- 某些Unix发行版似乎期待一些输入并将进程空闲发送到后台。在Fedora Linux(bash)上测试,您可以启动php test.php &
,但不会执行。检查jobs
正在运行的后台进程 - 从后台捕获并使用fg
执行。
答案 1 :(得分:0)
可以使用proc_open。我写了一个micro-framework作为POC,正在使用这种技术。