7.2. Das init-Programm

Das Programm init ist der für die korrekte Initialisierung des Systems zuständige Prozess mit der Prozessnummer 1; alle Prozesse im System werden deswegen als „Kinder“ von init oder eines seiner „Kinder“ betrachtet. Das Programm wird direkt vom Kernel gestartet und ist immun gegen das Signal 9, mit dem normalerweise jeder Prozess abrupt beendet („gekillt“) werden kann. Alle weiteren Prozesse werden entweder von init selbst oder von einem seiner „Kindprozesse“ gestartet.

Konfiguriert wird init zentral über die Datei /etc/inittab; hier werden die so genannten „Runlevels“ definiert (mehr dazu unter Abschnitt 7.3, „Die Runlevel“), und es wird festgelegt, welche Dienste und Daemons in den einzelnen Levels zur Verfügung stehen sollen. Abhängig von den Einträgen in /etc/inittab ruft init verschiedene Skripten auf, die aus Gründen der Übersichtlichkeit im Verzeichnis /etc/init.d zusammengefasst sind.

Das gesamte Hochfahren des Systems — und natürlich auch das Herunterfahren — wird somit einzig und allein vom init-Prozess gesteuert. Insofern lässt sich der Kernel quasi als „Hintergrundprozess“ betrachten, dessen Aufgabe darin besteht, die gestarteten Prozesse zu verwalten, ihnen Rechenzeit zuzuteilen und den Zugriff auf die Hardware zu ermöglichen und zu kontrollieren.


SUSE LINUX Administrationshandbuch 9.3