Вопрос или проблема
Существует ли список доступных событий, которые можно использовать для Upstart?
Например, start on local-filesystems
, так что local-filesystems — это событие, но когда оно срабатывает и какие есть другие события?
Страницы инструкций
Начиная с Ubuntu 11.04, существует отличная страница инструкций, созданная Джеймсом Хантом, под названием usptart-events
, так что из терминала выполните:
man upstart-events
Она также доступна на онлайн-страницах инструкций Ubuntu, upstart-events, но теряет часть форматирования, так что лучшим онлайн-ресурсом для тех же сведений является поваренная книга Upstart.
Визуализация задач и событий
Существует также отличный инструмент, initctl2dot
, для визуализации событий upstart. Ниже приведены примеры использования команды для генерации изображений из Ubuntu 12.04.
Просмотреть все задачи:
initctl2dot -o - | dot -Tpng -o upstart.png
Просмотреть только задачи plymouth, lightdm и mountall:
initctl2dot -r plymouth,lightdm,mountall -o - | dot -Tpng -o upstart2.png
Grep init
Вы также можете grep
для emit в следующих каталогах:
grep -r emit /etc/init /etc/init.d /etc/network/if*.d
Это даст вам большинство из них, остальные генерируются мостом dbus.
Для получения дополнительной информации и лучших практик см. Поваренную книгу Upstart.
Эти события генерируются либо самим upstart
, либо mountall
, и у всех них есть свои man
страницы:
монтирование смонтированных виртуальных файловых систем
локальных файловых систем все замены файловой системы
удаленные файловые системы стартовал стартует
останавливаясь остановлен запуск уровень(7)
Любое приложение может генерировать свое собственное событие, например, с помощью
initctl emit suspend
Некоторые из них вы можете увидеть в выводе
grep emit /etc/init/*
Дополнительная информация также по адресу:
Ответ или решение
Доступные события для Upstart
Upstart — это система инициализации и управления процессами, используемая в некоторых дистрибутивах Linux, включая Ubuntu. Одним из ключевых аспектов Upstart является его событийная модель, позволяющая запускать и останавливать службы на основе определенных системных событий.
Стандартные события
Разновидности событий, доступных в Upstart, можно разделить на несколько категорий. Например, одно из базовых событий — start on local-filesystems
, которое срабатывает при завершении монтирования всех локальных файловых систем. Ниже приведен список ключевых событий, связанных с управлением файловыми системами и состояниями системы:
- mounting — происходит при монтировании файловых систем.
- mounted — срабатывает после того, как файловые системы были смонтированы.
- local-filesystems — событие, сигнализирующее о завершении монтирования локальных файловых систем.
- all-swaps — активирует события, когда все своп-файлы располагаются и подготавливаются к использованию.
- filesystem — сигнализирует о завершении инициализации файловых систем.
- remote-filesystems — отслеживает события монтирования удаленных файловых систем.
- started, starting, stopping, stopped — обрабатывают различные состояния запуска и остановки процессов.
- startup — запускается во время инициализации системы.
- runlevel(7) — конкретное событие, указывающее на переход в определенный уровень запуска.
Эмитирование событий
Каждое приложение может эмитировать собственные события, добавляя гибкости и возможности взаимодействия. Например, команда для эмитирования события suspend
будет выглядеть следующим образом:
initctl emit suspend
Кроме того, вы можете найти среди существующих событий, используя следующую команду для поиска по системным директориям:
grep emit /etc/init/*
Эта команда позволит вам увидеть, какие события эмитируются в вашей системе.
Ресурсы для изучения событий
Для углубленного изучения событий Upstart вы можете воспользоваться следующими источниками информации:
-
Man Page: Для получения подробной информации о событиях Upstart, откройте терминал и введите:
man upstart-events
Альтернативно, онлайн-версия доступна здесь.
-
Кулинарная книга Upstart: Более обширное руководство по событиям и их использования вы найдете в кулинарной книге Upstart, которая охватывает лучшие практики и различные аспекты работы с Upstart.
-
Инструмент визуализации: Для наглядного отображения событий и заданий вы можете использовать
initctl2dot
. Строка для создания изображения всех заданий выглядит следующим образом:initctl2dot -o - | dot -Tpng -o upstart.png
Заключение
Система событий в Upstart предоставляет мощный инструмент для управления службами и процессами в Linux-средах. Понимание этих событий и возможностей их эмитирования позволит вам более эффективно управлять системой и автоматизировать различные задачи. Используя представленные ресурсы, вы сможете глубже разобраться в функционале Upstart и наладить его оптимальное применение в вашей работе.