带有 systemd 的 PHP 脚本

带有 systemd 的 PHP 脚本

我是 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

当我重新启动系统(或运行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

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

答案1

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

您确定您的进程会自行守护进程吗?PHP 脚本执行此操作的情况相当罕见。也许您应该改用Type=simple

相关内容