F.2.5. Job-Definitionen
Bislang lieferte das sysvinit-Paket den init-Daemon für die Standardkonfiguration. Wenn das System startete, führte dieser init-Daemon das
/etc/inittab
-Skript aus, um Systemprozesse zu starten, die für jedes Runlevel definiert waren. Die Standardkonfiguration verwendet nun einen ereignisgesteuerten init-Daemon, der vom Upstart-Paket bereitgestellt wird. Jedes Mal, wenn ein bestimmtes Ereignis stattfindet, verarbeitet der init-Daemon die Jobs, die im /etc/event.d
-Verzeichnis gespeichert sind. Der init-Daemon erkennt den Start des Systems als ein solches Ereignis.
Jeder Job spezifiziert in der Regel ein Programm sowie die Ereignisse, die init dazu veranlassen, dieses Programm zu starten oder zu stoppen. Einige Jobs sind als Tasks aufgebaut, die Aktionen ausführen und dann beenden, bis ein anderes Ereignis den Job erneut auslöst. Andere Jobs sind als Dienste aufgebaut, die init laufen lässt, bis ein anderes Ereignis (oder der Benutzer) diese stoppt.
Beispielsweise ist der
/etc/events.d/tty2
-Job ein Dienst, um ein virtuelles Terminal auf tty2 aufrechtzuerhalten, von dem Moment an, in dem das System startet, solange bis es heruntergefahren wird oder bis ein anderes Ereignis (wie z.B. ein Wechsel des Runlevels) den Job beendet. Der Job ist so aufgebaut, dass init das virtuelle Terminal neu startet, falls es während dieser Zeit unerwartet beendet wird:
# 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