How to check if в service was started by upstart or sysvinit?

For some services (экс-: bluetooth) I have entries in both /etc/init.d/ and in /etc/init/ directory.

How do I know how this service is started? By sysvinit or upstart ?

I am using Ubuntu 14.04.

2
задан 29 December 2015 в 05:10

1 ответ

У Вас может быть два набора сценариев, но у Вас только есть одна активная init система. На Ubuntu 14.04 это - Выскочка.

Так, неважно, ли Ваш сценарий находится под /etc/init.d или /etc/init, ответ, для которого init система запускает Ваш скрипт в соответствии с Ubuntu 14.04, всегда является Выскочкой.

Можно наблюдать то, что происходит, когда Вы пробуете, работает /etc/init.d сценарий при помощи strace зарегистрировать системные вызовы STDOUT:

 sudo strace /etc/init.d/bluetooth start

Сначала Вы будете видеть, что init сценарий сначала загружает некоторые функции заголовка через /lib/lsb/init-functions

open("/lib/lsb/init-functions", O_RDONLY) = 3

Довольно скоро Вы будете видеть действие, отклоненное к связанному с выскочками сценарию:

open("/lib/lsb/init-functions.d/01-upstart-lsb", O_RDONLY) = 3

Это - просто сценарий оболочки, таким образом, можно открыть его и считать источник для наблюдения то, что он делает.

В то время как Вы продолжаете к полному вывод, я думаю, что Вы будете видеть, что команда перенаправляется для запуска сценария с помощью Новомодного сценария вместо сценария SysV init.

То, что интересно видеть, - то, что на 16,04, Выскочка дальнейшие перенаправления управление к systemd и связанное systemd обслуживание запускаются вместо этого:

write(1, "Starting bluetooth (via systemct"..., 53Starting bluetooth (via systemctl): bluetooth.service) = 53

Реалистичный совет использовать Новомодные сценарии и управление службами управляет на Ubuntu 14.04 для предотвращения сложности и потенциального беспорядка слоя SysV init совместимости. Аналогично, после того как Вы обновляете до 16,04, начните использовать собственный компонент systemd файлы единицы и systemctl команда для предотвращения включает ненужные слои совместимости.

1
ответ дан 2 December 2019 в 05:00

Другие вопросы по тегам:

Похожие вопросы: