init

Aus Foxwiki
Subpages:

init - Die Mutter aller Prozesse

Beschreibung

Der init-Prozess (von initiieren) ist bei unixoiden Systemen der erste Prozess des Systems:

  • Er hat meistens die Prozess-ID 1
  • Traditionell ist er direkter oder indirekter Vorfahre aller Prozesse und adoptiert automatisch alle verwaisten Prozesse
Auf welche Art Prozesse starten
  • wird unter System-V-orientierten Systemen wie Solaris in der Datei /etc/inittab festgelegt (SysVinit)
  • unter den BSDs in der Datei /etc/ttys.
  • Linux-basierte Betriebssysteme (der init-Prozess ist kein Teil des Linux-Kernels) verwenden traditionell ebenfalls den System-V-Daemon
  • seit 2011 begann die inzwischen weitreichende Verbreitung von systemd als Ersatz für den System-V-Daemon.
  • In Mac OS X (ab 2016 „macOS“) wurde er ab Version 10.4 „Tiger“ durch launchd ersetzt.

Auf heutigen Systemen werden durch den Kernel auch noch andere interne Prozesse gestartet, die Aussage gilt daher primär für Benutzerprozesse.

Den init-Prozess mit dem Kill-Kommando zu beenden (kill -9), ist gleichbedeutend mit dem Herunterfahren des Systems. Will man während des laufenden Betriebs die Konfiguration wirkungsvoll ändern, muss nach dem Ändern der Konfigurationsdatei eingegeben werden:

kill -1 1
Runlevel

Unter den an System V orientierten Betriebssystemen verwaltet der init-Prozess die verschiedenen Runlevel; die BSDs kennen dagegen traditionell nur zwei Modi, single-user und multi-user.

Da das Starten von Prozessen mit Hilfe von init auf heutigen Systemen, mit im laufenden Betrieb wechselnder Hardware, nicht mehr ganz zeitgemäß ist, gibt es Versuche, Alternativen einzuführen.

systemd

Mittlerweile kommt systemd auch in Debian und Ubuntu zum Einsatz und ersetzt dort SysVinit beziehungsweise Upstart, womit systemd in den am weitesten verbreiteten Linux-Distributionen zum Einsatz kommt

Beispiele von Init-Systemen

Asynchron
Synchron

Weblinks

  1. https://de.wikipedia.org/wiki/Init
  2. https://wiki.gentoo.org/wiki/Comparison_of_init_systems