выскочка не видит мою работу

12

в Ubuntu 12.10

user@xyz:~$ sudo initctl --version
initctl (upstart 1.5)
Copyright (C) 2012 Scott James Remnant, Canonical Ltd.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
user@xyz:~$ ls -l /etc/init/rs-comm.conf
-rw-r--r-- 1 root root 349 нояб. 15 03:22 /etc/init/rs-comm.conf
user@xyz:~$ sudo initctl reload-configuration
user@xyz:~$ sudo initctl start rs-comm
initctl: Unknown job: rs-comm
XDenSer
источник

Ответы:

15

Ваша работа, вероятно, содержит неверный синтаксис, что означает, что Upstart не будет его учитывать. Попробуйте запустить следующее как обычный пользователь ( не как root):

init-checkconf /etc/init/rs-comm.conf
jamesodhunt
источник
8
ERROR: failed to ask Upstart to check conf file
xdenser
1
это сервер Ubuntu без графического интерфейса. здесь вывод init-checkconf -d /etc/init/rsyslog.confUpstart не отвечает через D-Bus
xdenser
7
Решаемые. Я заметил в отладочном выводе init-checkconf, что он просит Upstart записать ответ в файл в /tmp. Я посмотрел там - вот они - несколько файлов, указывающих на ошибку в моем файле работы. Я исправил эту опечатку, и теперь мою работу видит Upstart. Есть еще вопрос, почему init-checkconf не видит ответы Upstart.
xdenser
4
@xdenser Проблема с init-checkconf, скорее всего, связана с
FvD
1
Я пытаюсь это сделать в RHEL 6 и не могу найти init-checkconfкоманду для проверки синтаксиса. Я выполнил то же самое задание в Ubuntu без ошибок. yum info upstartвозвращает: Installed Packages Name : upstart Arch : x86_64 Version : 0.6.5 Release : 12.el6_4.1 Size : 550 k Repo : installed From repo : rhel-x86_64-server-6 работа заканчивается, .confи права доступа к файлам выглядят хорошо. Doing sudo initctl listпоказывает все файлы, /etc/init/кроме рассматриваемой работы.
Час назад
0

На RedHat v6.8 (и, возможно, других версиях и дистрибутивах) upstart не увидит новое задание, если имя файла не имеет расширения .conf. Например, я только что столкнулся с этой проблемой, когда я создал выскочку NGiNX как /etc/init/nginx. initctl list | grep nginxничего не вернул. initctl status nginxвернулся initctl: Unkown job: nginx. Итак, я переименовал имя файла выскочки, /etc/init/nginx.confи он сразу распознал его как новую выскочку. Я подозреваю, что это может повлиять на многих людей, поэтому я решил опубликовать это как соответствующий ответ.

dcarrith
источник