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