我有一个PHP脚本说test.php
在linux Ubuntu中,在这个PHP脚本中,我使用shell_exec()
来启动几个后台进程。
当我执行php test.php
时,后台进程按预期启动,但是当我运行php test.php &
时,这几个后台进程没有启动。
启动后台进程不是受支持的方法,还是有更好的方法?
尝试php test.php < /dev/null &
- 一些 Unix 发行版似乎需要一些输入并将进程空闲发送到后台。在Fedora Linux(bash)上测试,你可以启动php test.php &
但它不会执行。检查正在运行jobs
后台进程 - 从后台捕获并使用fg
执行。
使用proc_open是可能的。我编写了一个微框架作为POC,它正在使用这种技术。