F.2.5. Définitions de tâches

Précédemment, le paquetage sysvinit offrait le démon init pour la configuration par défaut. Lorsque le système démarrait, ce démon init exécutait le script /etc/inittab afin de démarrer les processus de système définis pour chaque niveau d'exécution. La configuration par défaut utilise maintenant un démon init basé sur événements fournit par le paquetage Upstart. Dès lors qu'un événement particulier se produit, le démon init exécute les tâches stockées dans le répertoire /etc/event.d. Le démarrage du système est vu par le démon init en tant qu'événement de ce type.
Typiquement, chaque job spécifie un programme et les événements déclenchant l'exécution ou l'arrêt du programme par init. Certains jobs sont construits en tant que tâches, qui réalisent des actions puis se terminent jusqu'à ce qu'un autre événement lance à nouveau le job. D'autres jobs sont construits en tant que services, qu'init laisse en cours d'exécution jusqu'à ce qu'un autre événement (ou jusqu'à ce que l'utilisateur) ne l'arrête.
Par exemple, la tâche /etc/events.d/tty2 est un service pour maintenir un terminal virtuel sur tty2 à partir du moment où le système démarre et ce, jusqu'à ce que le système soit fermé, où jusqu'à ce qu'un autre événement (tel qu'un changement de niveau d'exécution) n'arrête la tâche. Celle-ci est contruite de manière à ce qu'init redémarre le terminal virtuel s'il s'arrête de manière imprévisible :
# tty2 - getty
#
# Ce service maintient un getty sur tty2 à partir du moment où le système
# est démarré et jusqu'à ce qu'il soit à nouveau éteint.

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