在分叉进程中,Php exec()返回代码为-1,而在普通脚本中为0

时间:2010-06-17 16:20:45

标签: php

我在一个作为守护进程运行的脚本中使用exec(),并使用pear类Net_Server分叉子进程。

我遇到一个奇怪的问题,返回代码(exec的第三个参数)返回-1。当我在命令行上运行命令,或者在正常的php脚本中运行exec时,返回代码应为0。任何人都知道为什么会这样,以及如何解决它?

2 个答案:

答案 0 :(得分:1)

 pcntl_signal(SIGCHLD, SIG_DFL);
 exec('...');
 pcntl_signal(SIGCHLD, 'whatever it was');

答案 1 :(得分:0)

我想这是环境变量的问题。也许你试图执行的东西通常在你的PATH中,但是当你产生一个守护进程时。提供程序的完整路径。