Я новичок в 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
Что я делаю не так? Заранее спасибо.
Вы указали Type=forking
но программа, которую вы запустили, никогда не разветвлялась в течение периода ожидания, поэтому systemd посчитал, что она не запустилась должным образом, убил ее и пометил службу как неисправную.
Вы уверены, что ваш процесс демонизирует себя? Это было бы довольно необычно для PHP-скрипта сделать это. Возможно, вам стоит использовать Type=simple
вместо.