4. Задания Upstart

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

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Хотя для Upstart нет специальных лабораторий, понимание того, как планировать и управлять задачами, имеет решающее значение для контроля системных процессов. Вот практическая лабораторная работа для закрепления вашего понимания управления задачами:

  1. Планирование задач с помощью at и cron в Linux - Практикуйтесь в создании, управлении и удалении одноразовых и повторяющихся заданий, которые являются фундаментальными концепциями, связанными с управлением службами и задачами в средах Linux, подобных тем, которыми управляет Upstart.

Эта лаборатория поможет вам применить концепции автоматизации задач в реальных сценариях и повысить уверенность в управлении системными операциями.

Тест

Как бы вы вручную перезапустили задание Upstart с именем `peanuts`? Пожалуйста, предоставьте полную команду. (Примечание: Ответ чувствителен к регистру и должен быть на английском языке.)