initclt не видит скрипт init в Ubuntu 12 64bit

initclt не видит скрипт init в Ubuntu 12 64bit

Я создал скрипт инициализации в формате LSB и скопировал его в каталог /etc/init.d. Я могу вручную запустить, остановить, установить статус службы, и все работает нормально. Затем я пытаюсь настроить службу на автоматическую остановку/запуск с уровнями выполнения, выполнив:

update-rc.d service defaults

и я вижу предупреждения вроде:

update-rc.d: предупреждение: аргументы уровня запуска xxx start (нет) не соответствуют значениям lsb default-Start (3 4 5).

и initctl list" не отображает мою службу. Есть ли какие-то шаги, которые мне нужно выполнить, чтобы эта служба зарегистрировалась или отображалась правильно? (Я знаю, что в RedHat это "chkconfig --add xxx), но я недостаточно хорошо знаю Ubuntu.

решение1

initctlявляется частью механизма upstart Uubuntu. initctl listпоказывает только статус upstart-jobs. Ваш скрипт действительно является скриптом инициализации SysV.

Чтобы просмотреть состояние сценария инициализации SysV, используйте следующую команду:

service --status-all

Ваша услуга должна быть там указана.


Для создания ссылок в /etc/rcNпапках используйте следующую команду:

update-rc.d your_init_script defaults

Из страницы руководства update-rc.d:

Если используются значения по умолчанию, то update-rc.d создаст ссылки для запуска службы на уровнях выполнения 2345 и для остановки службы на уровнях выполнения 016.

Связанный контент