带有 systemd 的 PHP 脚本

maa*_*boo 4 php daemon systemd

我是 systemd 的新手,我的同事给我的脚本有问题。该脚本在 Debian 7 中作为后台进程运行,但在 Debian 8 中不起作用。我决定将其重写为 systemd。

我有这个chunk8.service(位于/etc/systemd/system):

[Unit]
Description=Chunk-search Daemon
Requires=mysql.service apache2.service

[Service]
PIDFile=/var/run/chunkrm8.pid
ExecStart=/usr/bin/php /var/www/chunkrm8/task_pool.php > /dev/null 2>/dev/null
Type=forking
KillMode=process

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

当我重新启动系统(或运行systemctl start chunk8.service)时,我得到:

? chunk8.service - Chunk-search Daemon
   Loaded: loaded (/etc/systemd/system/chunk8.service; enabled)
   Active: failed (Result: timeout) since Tue 2016-04-19 16:21:20 MSK; 1min 1s ago
Run Code Online (Sandbox Code Playgroud)

我做错了什么?提前致谢。

Mic*_*ton 6

您指定了Type=forking但您启动的程序在超时期限内从未分叉,因此 systemd 认为它没有正确启动,将其杀死,并将该服务标记为失败。

您确定您的进程会自我守护吗?PHP 脚本执行此操作是非常不寻常的。也许你应该使用它Type=simple