В Ubuntu
- Есть ли команда, чтобы показать список всех служб автозапуска?
- Есть ли команда, чтобы проверить, запускается ли служба во время загрузки или нет?
Я сделал Google и IRC. Я не могу найти ответ. Возможно, в Ubuntu таких команд не существует. Вначале я думал, что все запущенные службы будут недоступны /etc/rc2.d/
, но я ошибался в этом. Некоторые из них настроены только под /etc/init/*.conf
. Затем я попробовал chkconfig
инструмент (установил его вручную), он не работает все время. Например, он дает неправильный результат, для mongodb
которого автоматически запускается /etc/init/mongodb.conf
.
service --status-all
и initctl list
может сообщать только текущий статус сервисов вместо статуса автозапуска. update-rc.d
команда для изменения статуса автозапуска вместо отображения статуса
Если на мой вопрос нет ответа, мне просто интересно, почему так сложно проверить сервисы автозапуска в Ubuntu.
chkconfig --list
будет работать правильно?on
означает, что служба работает на этом уровне выполнения, и эта служба автоматически запускается при загрузке системы.ls /etc/rc?.d
?Ответы:
Ubuntu использует
Upstart
вместо традиционнойinit
системы. Upstart сильнее, чем init, но он немного сложнее, чемinit
.Upstart, напротив, основан на событиях. «Событие» может быть чем-то вроде «загрузки» ... или может быть более конкретным, например, «сеть готова к использованию сейчас». Вы можете указать, какие сценарии зависят от каких событий. Все, что не ожидает события, может запускаться, когда есть доступный процессор.
Эта система, основанная на событиях, имеет еще одно преимущество: теоретически вы можете использовать ее даже после того, как система запущена и работает. Upstart в конечном итоге должен взять на себя такие задачи, как или подключение внешних устройств, таких как флэш-накопители (в настоящее время обрабатываются udev и hal) или запуск программ в определенное время (в настоящее время обрабатывается cron).
Как вы должны знать сейчас, мертвый демон (который не запускается при запуске) может быть жив и запускается из-за события.
В Ubuntu есть и / etc / init для Upstart, и /etc/init.d для старых файлов SysV. Некоторые файлы в нем являются обычными сценариями SysV Init, которые еще не были перенесены. Но некоторые сервисы, которые были перенесены, поддерживают ссылку из /etc/init.d на / lib / init / upstart-job. Если вы запускаете один из них, он работает, но сначала выводит предупреждение:
На машине Upstart init происходит от upstart. Вместо запуска основного сценария rc, который вызывает сценарии для определенного уровня выполнения, init-upstart берет задания из своего каталога заданий.
Теперь мы знаем, что не существует простого способа перечисления демонов автозапуска, вы должны перечислить все демоны и проверять их по одному. Демон может быть запущен
init
илиupstart
даже позднее. Самый простой способ получить этот список - запустить эту команду в оболочке:Вывод выглядит так:
Некоторые элементы, такие как первый, очень просты,
hostname
запускаются при запуске. Но другие предметы могут выглядеть сложнее. (Но, к счастью, человек читается :-))источник
На самом деле, все сервисы доступны только в /etc/init.d:
Еще одна вещь, все сервисы присутствуют
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
также, но это только символическая ссылка/etc/init.d
.Смотрите здесь, это содержание
rc1.d
каталога:Здесь вы можете увидеть символическую ссылку на init.d (K15pulseaudio -> ../init.d/pulseaudio).
Но здесь каждый сервис связан с init.d, верно? Но каждый сервис не запустится; причина в двух сценариях.
Первый - это S- скрипт (S30killprocs) ---> start
Второй - скрипт k (K15pulseaudio) ---> kill
Все службы сценариев K уничтожают службы, и все службы сценариев S запускают службы для этого уровня выполнения.
Вкратце
S70dns-clean -> ../init.d/dns-clean
запуститьdns-clean
службу на уровне выполнения 1.K15pulseaudio -> ../init.d/pulseaudio
убиваетpulseaudio
службу на уровне выполнения 1.источник
Вы можете установить sysv-rc-conf, программу ncurses, чтобы графически настроить / показать уровни rc.
источник
Смотрите здесь: update-rc-d-шпаргалка
Ни одного, я знаю (что ничего не значит;), но вы можете начать читать здесь: askubuntu forum - служба зависимости
источник