Какие события доступны для Upstart?

Вопрос или проблема

Существует ли список доступных событий, которые можно использовать для 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/*

Дополнительная информация также по адресу:

http://netsplit.com/2008/04/27/upstart-05-events/

http://upstart.at/

Ответ или решение

Доступные события для 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 вы можете воспользоваться следующими источниками информации:

  1. Man Page: Для получения подробной информации о событиях Upstart, откройте терминал и введите:

    man upstart-events

    Альтернативно, онлайн-версия доступна здесь.

  2. Кулинарная книга Upstart: Более обширное руководство по событиям и их использования вы найдете в кулинарной книге Upstart, которая охватывает лучшие практики и различные аспекты работы с Upstart.

  3. Инструмент визуализации: Для наглядного отображения событий и заданий вы можете использовать initctl2dot. Строка для создания изображения всех заданий выглядит следующим образом:

    initctl2dot -o - | dot -Tpng -o upstart.png

Заключение

Система событий в Upstart предоставляет мощный инструмент для управления службами и процессами в Linux-средах. Понимание этих событий и возможностей их эмитирования позволит вам более эффективно управлять системой и автоматизировать различные задачи. Используя представленные ресурсы, вы сможете глубже разобраться в функционале Upstart и наладить его оптимальное применение в вашей работе.

Оцените материал
Добавить комментарий

Капча загружается...