1

test.php在 linux Ubuntu 中有一个 PHP 脚本,在这个 PHP 脚本中我shell_exec()用来启动几个后台进程。

当我执行php test.php时,后台进程按预期启动,但是当我运行时php test.php &,这几个后台进程没有启动。

从后台进程启动后台进程不是受支持的方式,还是有更好的方法?

4

2 回答 2

1

尝试php test.php < /dev/null &- 一些 Unix 发行版似乎期望一些输入并将进程空闲发送到后台。在 Fedora Linux (bash) 上测试,您可以启动php test.php &但它没有执行。检查jobs正在运行的后台进程 - 从后台捕获并使用fg.

于 2013-01-27T10:58:18.673 回答
0

可以使用proc_open。我编写了一个微型框架作为 POC,它正在使用这种技术。

于 2013-01-27T11:03:45.013 回答