Wie kann ich den Status eines Dienstes unter Linux mit systemctl
Wie verwende ich den Befehl systemctl, um den Status eines systemd-Dienstes unter Linux-Betriebssystemen anzuzeigen?
Wir verwenden den Befehl systemctl status unter systemd, um den Status des angegebenen Dienstes unter Linux-Betriebssystemen anzuzeigen.,
Status eines Dienstes anzeigen
Die Syntax für den systemctl-Befehl lautet wie folgtsystemctl status {service-name}
systemctl status {unit-name}
Status eines Dienstes namens nginx anzeigen
Der Punkt („●“) verwendet Farbe auf unterstützten Terminals, um den Status eines einheit zustand auf einen blick. Weiße Farbe zeigt einen „inaktiven“ oder „deaktivierenden“ Zustand an. Die rote Farbe zeigt den Status „fehlgeschlagen“ oder „Fehler“ an. Grün zeigt den Status „aktiv“, „Nachladen“ oder „Aktivieren“ an.,
systemd-Service – /Unit-Status verstehen
Der Status des Linux-Dienstes hängt von verschiedenen Zuständen ab, wie zum beispiel:
Service-Status | Beschreibung |
---|---|
aktiv (läuft) | Dienst oder Daemon wird im Hintergrund ausgeführt. Zum Beispiel sshd oder nginx / Apache Webserver und Auflistung für eingehenden Datenverkehr. |
aktiv (beendet) | Dienst erfolgreich aus der Konfigurationsdatei gestartet. In der Regel wurde eine einmalige Dienstkonfiguration gelesen, bevor der Dienst beendet wurde. Zum Beispiel AppArmor oder Firewall-Dienst., |
aktiv (Warten) | Unser Dienst wird ausgeführt, wartet jedoch auf ein Ereignis wie CPUS/Druckereignis. |
inaktiv | Dienst wird nicht ausgeführt. |
aktiviert | Dienst ist beim Booten aktiviert. |
deaktiviert | der Service ist disbled und werden nicht gestartet auf dem Linux-server zu Booten. |
static | Der Dienst kann unter Linux nicht aktiviert werden, wird jedoch meistens automatisch von einer anderen Systemd-Einheit gestartet. Mit anderen Worten, die Einheitendatei ist nicht aktiviert und enthält keine Bestimmungen zum Zulassen im Abschnitt Einheitendatei., |
maskierter | Dienst ist vollständig deaktiviert und jeder Startvorgang schlägt immer fehl. |
Alias | Der Dienstname ist ein Alias. Dies bedeutet, dass der Dienst eine Symlink zu einer anderen Unit-Datei ist. |
linked | Verfügbar gemacht durch einen oder mehrere Symlinks zur Unit-Datei (dauerhaft in/etc/systemd/ system /oder vorübergehend in/run/systemd/ system/), auch wenn die Unit-Datei außerhalb des Unit-Dateisuchpfads liegen könnte., |
Aktuell folgende Einheiten werden unterstützt von systemd
- service : Service-unit-Konfiguration über einen Prozess gesteuert und überwacht durch systemd.
- mount: Dateisystem-Mount-Punkt gesteuert und überwacht von systemd.
- swap: Swap-Datei / Disk-Konfiguration von systemd gesteuert.
- Socket : Ein IPC – oder Netzwerksocket oder ein Dateisystem-FIFO, der von systemd gesteuert und überwacht wird, zur Socket-basierten Aktivierung.
- target: Es enthält Informationen über eine Zieleinheit von systemd., Es wird zum Gruppieren von Einheiten und als bekannte Synchronisationspunkte während des Starts verwendet. Zum Beispiel grafisch.target wird für die GUI-basierte Desktop-Anmeldung verwendet. Ähnlich, multi-user.target wird von Servern verwendet, auf denen sich Benutzer mit ssh/console anmelden können.
- Gerät: Eine Geräteeinheit, wie sie im Gerätebaum sysfs/udev angezeigt wird. Es umfasst Netzwerke und andere Geräte.
- automount: Automount Dateisysteme
- Timer: Cron wie systemd Einheit Befehle und Dienste zu einem bestimmten Datum/Uhrzeit-Format auszuführen. Aktualisieren Sie beispielsweise Firmware oder saubere Sitzung, die von Python-oder PHP-Webapps erstellt wurden.,
- path : Eine spezielle systemd-Zieleinheit, die alle Pfadeinheiten einrichtet. Beispielsweise kann systemd Zertifizierungsmaßnahmen abhängig vom Dateisystempfad ausführen. Wenn /etc/foo/ modifiziert einige Maßnahmen ergreifen.
- slice: Wir verwenden ein systemd Slice zum Isolieren von Workloads. Sie definieren eine Hierarchie, in der Bereiche und Dienste platziert werden. Die eigentlichen Prozesse sind in Bereichen oder in Diensten enthalten. Betrachten Sie es als leichten Docker. Für jeden Slice können bestimmte Ressourcenlimits wie CPU-oder Festplatten-E/A-Limits festgelegt werden, die für alle Prozesse gelten.,
- scope: Scope-Einheiten werden nicht über Unit-Konfigurationsdateien konfiguriert, sondern nur programmgesteuert über die Busschnittstellen von systemd erstellt. Sie sind ähnlich wie Dateinamen benannt. Eine Einheit, deren Name auf „.scope “ bezieht sich auf eine Scope-Einheit. Scopes Units verwalten eine Reihe von Systemprozessen. Im Gegensatz zu Service Units verwalten Scope Units extern erstellte Prozesse und forken Prozesse nicht selbst ab. Der Hauptzweck von Scope-Einheiten ist die Gruppierung von Worker-Prozessen eines Systemdienstes zur Organisation und zum Verwalten von Ressourcen.,
Wir können alle Dienste Einheit wie folgt auflisten:
Möchten Sie Mount-Typ Einheiten sehen?,dienste und Unit-Status auf Ihrem Linux-System seit dem Booten:$ sudo systemctl
Klicken Sie zum Vergrößern
Verwenden Sie den Befehl grep/egrep, um erforderliche units/services herauszufiltern:$ sudo systemctl | grep ssh
$ sudo systemctl | egrep "apache|nginx|lighttpd|php"
Wie listen Sie Einheiten auf, die systemd derzeit im Speicher hat
Listen Sie systemd/systemctl auf alle fehlgeschlagenen Einheiten/Dienste unter Linux
Die systemctl-Befehlsoptionen zum Auflisten aller fehlgeschlagenen Einheiten/Dienste
Was tun, wenn der Dienst wie nginx nicht ausgeführt wird?,wenn aktiviert oder nicht, führen Sie Folgendes aus:
$ sudo is-enabled nginx.service
Status erneut anzeigen:
$ sudo status nginx.service
Um die vollständigen Ausgaben für das Debug-Service-Problem anzuzeigen, übergeben Sie die Option –full or-l:
$ sudo status nginx.service -l
$ sudo status openvpn.service --full
Wir können alle Protokollnachrichten im Zusammenhang mit dem Dienst mithilfe des Befehls journalctl debuggen und anzeigen:
$ sudo journalctl UNIT=nginx.service
So zeigen Sie die systemd-Dienst – /Unit-Dateiquelle an
$ sudo status openvpn.service --full
Übergeben Sie die cat-Option wie folgt (wie cat-Befehl):$ sudo systemctl cat {service-name}
$ sudo systemctl cat nginx.service
<
Sie haben mit dem Befehl systemctl erfahren, wie systemd-Einheiten, einschließlich Linux-Dienste, aufgelistet werden., Siehe systemctl-Dokumentation oder geben Sie den folgenden man-Befehl ein:$ man systemctl
$ systemctl --help
🐧 Holen Sie sich die neuesten tutorials zu Linux, Open Source & DevOps per RSS-feed oder Wöchentlichen E-Mail Newsletters.
🐧 4 Kommentare bisher…, add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.,04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |