Upstart — это событийно-ориентированная система инициализации, используемая в некоторых дистрибутивах upstart linux для управления службами и задачами во время загрузки и работы системы. Она работает через систему заданий (jobs) и событий. Хотя отследить источник каждого события может быть сложно, часто требуя изучения конфигураций заданий в /etc/init, вы, скорее всего, будете управлять этими заданиями непосредственно из командной строки. Утилита initctl предоставляет набор команд для этой цели.
Просмотр состояния заданий
Чтобы увидеть список всех известных заданий Upstart и их текущее состояние, используйте команду list.
initctl list
shutdown stop/waiting
console stop/waiting
...
Вывод отображает имя задания, его цель (goal) и текущее состояние (status). В примере shutdown stop/waiting имя задания — shutdown, его цель — stop, а текущее состояние — waiting. Состояние и цели задания будут меняться по мере вашего взаимодействия с ними.
Чтобы проверить состояние конкретного задания, используйте команду status.
initctl status networking
networking start/running
Ручное управление заданиями
Хотя файлы конфигурации заданий в /etc/init определяют, как задания запускаются, останавливаются и взаимодействуют с событиями, вы можете вручную переопределить эти действия с помощью initctl. Это полезно для устранения неполадок или выполнения административных задач.
Чтобы вручную запустить задание:
sudo initctl start networking
Чтобы вручную остановить задание:
sudo initctl stop networking
Чтобы вручную перезапустить задание, что является удобным сокращением для его остановки с последующим запуском:
sudo initctl restart networking
Генерация пользовательских событий
Задания Upstart запускаются событиями. Вы также можете вручную "сгенерировать" (emit) событие, что может быть полезно для запуска пользовательских заданий или в целях тестирования. Любое задание, настроенное на запуск по событию some_event, будет запущено следующей командой.
sudo initctl emit some_event