Heim > Artikel > Betrieb und Instandhaltung > Einführung in Systemdienste unter Linux – init, systemd
Wir hören oft die Wörter Dienst und Daemon. Was bedeuten sie? Gibt es Unterschiede und Zusammenhänge zwischen ihnen? Dienste unter Linux sind Programme, die sich im Speicher befinden und einige System- oder Netzwerkfunktionen bereitstellen können. Die wörtliche Übersetzung von Daemon lautet Daemon-Prozess oder Hintergrundprozess. Sie können Dienst und Daemon also als dasselbe betrachten, ohne sie zu unterscheiden.
Früher Init-Verwaltungsmechanismus
In CentOS6 wurde noch der Init-Dienstverwaltungsmechanismus verwendet. Hier eine kurze Einführung, da einige Dinge in centOS7 noch verwendet werden können. Schauen Sie sich hauptsächlich die folgenden Funktionen an:
Starten, Herunterfahren und Statusüberprüfung des Dienstes usw.
Starten Sie den Dienst: /etc/init.d/nginx start
Starten Sie den Dienst neu: /etc/init .d/ nginx restart
Schließen Sie den Dienst: /etc/init.d/nginx stop
Statusprüfung: /etc/init.d/nginx status
Service-Startmethode
Unabhängig starten: Die meisten Dienste übernehmen diesen Modus, z. B. gängige Dienste wie mysqld, php-fpm, nginx, httpd und andere.
Vom Super-Daemon gehostet und gestartet: Der Start dieser Dienste wird von einem anderen Dienst gehostet, der als Super-Daemon bezeichnet wird. Zu den gängigen Supuer-Daemons gehören inetd und xinetd Unter Linux gibt es 7 Ausführungsebenen, nämlich 0, 1, 2, 3, 4, 5 und 6. Häufig verwendete sind
1 Einzelspieler-Wartungsmodus
3 Nur-Text-Modus
5 Grafikmodus
Das Startskript für jede Ausführungsebene erfolgt über /etc/rc[0-6 .d /SNNdaemon verweist auf /etc/init.d/daemon.
ll /etc/rc3.d/S55nginx lrwxrwxrwx 1 root root 15 Sep 21 11:30 /etc/rc3.d/S55nginx -> ../init.d/nginx
Sehen Sie, ob der Dienst aktiviert wurde: chkconfig --list daemon
Im Gegensatz zu init, das Dienste einzeln startet, kann systemd viele Dienste gleichzeitig starten. Dadurch wird die Wartezeit beim Booten erheblich verkürzt. Dienstabhängigkeiten auflösen
Um beispielsweise Dienst B zu starten, müssen Sie zuerst Dienst A starten. Zu diesem Zeitpunkt verwenden Sie systemd, um Dienst B zu starten. Die Abhängigkeiten werden automatisch überprüft und dann Dienst A gestartet, bevor Dienst gestartet wird B. Servieren.Einheitentyp
Im Vergleich zu Standalone- und Super-Daemons, die in init nur zwei Startmethoden haben, definiert systemd eine einheitliche Serviceeinheit (Einheit), und die Einheit ist unterteilt in: Dienst, Socket, Ziel, Pfad, Schnappschuss, Timer und viele andere Typen.Abwärtskompatibel mit dem Init-Dienstskript
Das alte Dienststartskript unter /etc/inid.d/ kann auch über systemd verwaltet werden. Hinweis: Wenn Sie das Dienststartskript manuell im Verzeichnis /etc/init.d starten, kann systemd den Ausführungsstatus des Dienstes nicht erkennen.# systemctl status mysqld ● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (running) since Wed 2020-10-28 13:26:53 CST; 1 weeks 5 days ago …… # /etc/init.d/mysqld restart Shutting down MySQL.... [ OK ] Starting MySQL. [ OK ] [root@lijia ~]# systemctl status mysqld ● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (exited) since Wed 2020-10-28 13:26:53 CST; 1 weeks 5 days ago ……In Bezug auf init und systemd müssen wir uns auf die Beherrschung von systemd konzentrieren und auch init verstehen.
Das obige ist der detaillierte Inhalt vonEinführung in Systemdienste unter Linux – init, systemd. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!