F.2.5. Определение заданий

F.2.5. Определение заданий

Раньше пакет sysvinit включал в свой состав службы init для стандартной настройки. При запуске системы процесс init выполнял сценарий /etc/inittab, который запускал заданный для данного уровня выполнения набор процессов. Стандартная конфигурация теперь использует демон init, входящий в состав пакета Upstart. Поведение службы определяется событиями. Так, в случае конкретного события процесс init приступит к обработке заданий в каталоге /etc/event.d. Запуск системы также рассматривается как событие.
Каждое задание определяет программу и события, при регистрации которых процесс init запустит или остановит эту программу. Некоторые задания построены как задачи, которые выполняют действия и завершают работу до следующего аналогичного события. Другие задания представляют из себя службы, которые init будет выполнять до тех пор, пока они не будут остановлены другим событием или пользователем.
Например, задание /etc/events.d/tty2 представляет собой службу, обеспечивающую работу виртуального терминала в консоли tty2 с момента запуска системы и до завершения ее работы или другого события (изменение уровня выполнения и т.п.). Задание построено таким образом, что в случае непредвиденной остановки init перезапустит виртуальный терминал:
# tty2 - getty
#
# This service maintains a getty on tty2 from the point the system is
# started until it is shut down again.

start on stopped rc2
start on stopped rc3
start on stopped rc4
start on started prefdm

stop on runlevel 0
stop on runlevel 1
stop on runlevel 6

respawn
exec /sbin/mingetty tty2