Я сделал этот новомодный сценарий, который запускает сервис Node.js. Но всем внезапным, которые сервис остановил, и выскочка, не удалось перезапустить его. Теперь, когда я пытаюсь запустить его вручную, этому не удается распознать мой сервис:
start: Unknown job: queue
Сценарий правильно помещается в /etc/init
, и должен иметь корректные права:
-rw-r--r-- 1 root root 200 Aug 7 13:30 queue.conf
Когда я проверяю файл конфигурации с init-checkconf
однако, это говорит, что не может работать как корень:
root@production1:~# init-checkconf /etc/init/queue.conf
ERROR: cannot run as root
Что вызывает эту ошибку и как я решаю ее?
Информация об отладке:
Ubuntu 12.04.3 LTS
root@production1:~# service --version
service ver. 0.91-ubuntu1
Править
Вот queue.conf
:
description "Echo.it command queue"
author "Ronni Egeriis Persson <ronni@echo.it>"
stop on shutdown
respawn
respawn 20 5
exec sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1
Команда sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1
хорошо работает, когда выполнено вручную.
Что не может быть запущено как root
так это init-checkconf
. Запуск init-checkconf
с другим пользователем выведет подтверждение синтаксиса в файл в /tmp
.
В этом случае respawn 20 5
должен был быть respawn limit 20 5
.