Init: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[ | {{DISPLAYTITLE:init}} | ||
{{Begriffsklärungshinweis}} | |||
Der '''init'''-Prozess (von ''initiieren'') ist bei [[Unixoides System|unixoiden Systemen]] der erste [[Prozess (Informatik)|Prozess]] des Systems: Er hat meistens die [[Process identifier|Prozess-ID]] 1. Traditionell ist er direkter oder indirekter Vorfahre aller Prozesse und adoptiert automatisch alle verwaisten Prozesse. Auf welche Art er Prozesse startet, wird unter [[System V|System-V]]-orientierten Systemen wie [[Solaris (Betriebssystem)|Solaris]] in der [[Datei]] <code>/etc/inittab</code> festgelegt ([[SysVinit]]), unter den [[Berkeley Software Distribution|BSDs]] in der Datei <code>/etc/ttys</code>. | |||
[[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 [[Mac OS X Tiger|Version 10.4]] „Tiger“ durch [[launchd]] ersetzt. | |||
Auf heutigen Systemen werden durch den [[Kernel (Betriebssystem)|Kernel]] auch noch andere interne Prozesse gestartet, die Aussage gilt daher primär für Benutzerprozesse. | |||
Den init-Prozess mit dem [[Kill (Unix)|Kill-Kommando]] zu beenden (<code>kill -9</code>), 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: | |||
<code>kill -1 1</code> | |||
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. Beispiele sind hier [[InitNG]], [[eINIT]], [[Upstart]] von [[Ubuntu (Betriebssystem)|Ubuntu]], [[launchd]] in [[macOS]] (ursprünglich „Mac OS X“) und [[systemd]] in [[Fedora (Linux-Distribution)|Fedora]]. | |||
Mittlerweile kommt systemd auch in [[Debian]] und [[Ubuntu (Betriebssystem)|Ubuntu]] zum Einsatz und ersetzt dort SysVinit beziehungsweise Upstart, womit systemd in den am weitesten verbreiteten Linux-Distributionen zum Einsatz kommt.<ref>{{Internetquelle |url=https://fedoraproject.org/wiki/Releases/15/FeatureList |titel=Feature List |zugriff=2012-02-15 |autor=Fedora Project |hrsg=fedoraproject.org}}</ref> | |||
== Beispiele von Init-Systemen == | |||
Asynchron: [[systemd]] | [[Upstart]] | [[InitNG]] | [[launchd]] | [[cinit]] | [[Runit (Init-System)|runit]] | [[Minit]] | Jinit | eINIT | s6 | [[Service Management Facility|SMF]] | sinit | [[GNU Shepherd]] | |||
Synchron: SysVinit | [[OpenRC]] (asynchron optional über Konfiguration aktivierbar) | |||
== Weblinks == | |||
* [https://wiki.gentoo.org/wiki/Comparison_of_init_systems Vergleich mehrerer init-Systeme] | |||
[[Kategorie:Unix-Software]] | |||
[[Kategorie:Daemon]] | |||
[[Kategorie:Linux/Dienst]] |
Aktuelle Version vom 21. November 2024, 12:17 Uhr
Vorlage:Begriffsklärungshinweis
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 er Prozesse startet, 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
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. Beispiele sind hier InitNG, eINIT, Upstart von Ubuntu, launchd in macOS (ursprünglich „Mac OS X“) und systemd in Fedora. 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.[1]
Beispiele von Init-Systemen
Asynchron: systemd | Upstart | InitNG | launchd | cinit | runit | Minit | Jinit | eINIT | s6 | SMF | sinit | GNU Shepherd
Synchron: SysVinit | OpenRC (asynchron optional über Konfiguration aktivierbar)