为梨的"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
和梨的system_daemon
pear/System_Daemon 1.0.0 1.0.0 Turn PHP scripts into Linux daemons
任何想法这里出了什么问题?
不幸的是,我无法发布源代码,但我可以说所有(包括文档中的示例)system_daemon脚本都拒绝分叉。
编辑 -- 其他详细信息
按照cweiske的建议,我尝试了pcntl示例,它工作正常
我还尝试卸载system_daemon,用能力清除我的梨安装,重新启动,重新安装梨,然后重新安装system_daemon。这也没有任何效果。
我可以在其他 Ubuntu 盒子上复制这个问题 11.04+
问题已解决。
1)我的appName属性中有一个大写字母,较新版本的system_daemon会抱怨
2)在安装pcntl之前,我已经安装了梨和system_daemon。从源头来看,这看起来不会导致问题,但为了安全起见,我重新安装了两者。