F.2.5. Definizione dei lavori
In precedenza il pacchetto sysvinit forniva il demone init per la configurazione predefinita. All'avvio del sistema il demone init eseguiva lo script
/etc/inittab
per avviare i processi del sistema definiti per ogni runlevel. La configurazione predefinita ora utilizza un demone init guidato dagli eventi fornito dal pacchetto Upstart. Ogni qualvolta che si verificano particolari eventi, il demone init processa i lavori archiviati nella directory /etc/event.d
. Il demone init riconosce l'avvio del sistema come tale evento.
Ogni lavoro generalmente specifica un programma, gli eventi invece indicano ad init di avviare o arrestare il programma. Alcuni lavori sono creati come compiti, essi eseguono delle azioni e terminano quando un altro evento riattiva nuovamente il lavoro. Altri lavori sono creati come servizi i quali vengono mantenuti in esecuzione da init fino al proprio arresto da parte di un altro evento (o dall'utente).
Per esempio il lavoro
/etc/events.d/tty2
è un servizio per il mantenimento di un terminale virtuale su tty2 dall'avvio del sistema fino al suo spegnimento, o se un altro evento (come ad esempio una modifica del runlevel) arresta il lavoro. Il lavoro stesso viene creato in modo tale che init sia in grado di riavviare il terminale virtuale se si verifica un arresto inaspettato durante quel periodo:
# 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