Назад | Перейти на главную страницу

Скрипт PHP с 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

Когда я перезагружаю систему (или запускаю 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 вместо.