2

为 pear 的“system_daemon”编写的脚本拒绝分叉以形成新进程。这在我的旧服务器上运行良好,但我的新服务器没有它。守护程序脚本在 shell 中运行得很好,并且会一直运行到我杀死它们为止。作为临时解决方法,我让守护进程在分离的 tmux shell 中运行,但这显然不是一个长期解决方案。

是否有任何已知问题阻止它分叉?

我有 PHP 5

PHP 5.3.10-1ubuntu3.2 with Suhosin-Patch (cli) (built: Jun 13 2012 17:19:58) 

和此处列出的 pcntl 加载了 ini

/etc/php5/cli/conf.d/pcntl.ini,

在 php -i 输出中进一步向下

pcntl

pcntl support => enabled

和梨

PEAR Version: 1.9.4

和 Pear 的 system_daemon

pear/System_Daemon                             1.0.0      1.0.0  Turn PHP scripts into Linux daemons

任何想法这里出了什么问题?

不幸的是,我无法发布源代码,但我可以说所有(包括文档中的示例)system_daemon 脚本都拒绝分叉。

编辑——附加细节

根据 cweiske 的建议,我尝试了 pcntl 示例,它工作正常

我还尝试卸载 system_daemon,使用 aptitude 清除我的 pear 安装,重新启动,重新安装 pear,然后重新安装 system_daemon。这也没有效果。

我可以在其他 Ubuntu 机器 11.04+ 上复制这个问题

4

1 回答 1

2

问题解决了。

1) 我的 appName 属性中有一个大写字母,较新版本的 system_daemon 会抱怨

2) 我在安装 pcntl 之前已经安装了 pear 和 system_daemon。从源头上看,这似乎不会导致问题,但为了安全起见,我重新安装了两者。

于 2012-08-10T16:31:30.467 回答