GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie Systemctl, um Dienste zu verwalten

Was ist Systemctl ?

Systemctl ist das zentrale Verwaltungstool zur Steuerung der systemd init System. Daher verwenden Sie diesen Befehl am häufigsten, um mit systemd zu interagieren System. Die meisten Linux®-Distributionen verwenden systemd als ihre init system, daher ist es hilfreich, sich mit der Verwendung von systemctl vertraut zu machen Funktion zur Verwaltung der auf Ihrem Linux-System ausgeführten Dienste.

Dienste verwalten

Das folgende Beispiel zeigt die grundlegende Befehlsvorlage für die Verwendung von systemctl Befehl:

systemctl (command) (service)

Dies unterscheidet sich vom Service-Befehl durch einen service (service) (command) -Format, das Befehle wie service httpd reload to reload the Apache service . Verwenden Sie diesen Namen beispielsweise unter systemctl Format sieht der Befehl wie in den folgenden Beispielen aus:

CentOS®-basierte oder Red Hat® Enterprise Linux®-basierte Systeme:

systemctl reload httpd

Ubuntu-Betriebssysteme:

systemctl reload apache2

Hinweis: Sie müssen .service nicht einbinden nach dem Namen des Dienstes, den Sie verwalten möchten. Systemctl ist intelligent genug, um zu wissen, dass Sie versuchen, einen Dienst zu betreiben, wenn Sie Dienstverwaltungsbefehle verwenden.

Es folgen einige allgemeine systemctl Befehle:

  • beginnen :Starten Sie einen Dienst, der derzeit nicht ausgeführt wird
  • Stopp :Stoppen Sie einen derzeit laufenden Dienst
  • Neustart :Starten Sie einen aktuell laufenden Dienst neu
  • neu laden :Soft-Neustart eines aktuell laufenden Dienstes durchführen
  • aktivieren :Einen Dienst automatisch starten lassen, wenn das System neu gestartet wird
  • deaktivieren :Verhindert, dass ein Dienst automatisch gestartet wird, wenn das System neu gestartet wird
  • Status :Überprüfen Sie den aktuellen Status eines Dienstes auf Ihrem System

Hinweis :Das reload Option ist nicht immer verfügbar. Sie können reload-or-restart verwenden stattdessen, wenn Sie sich nicht sicher sind, reload Verfügbarkeit. Verwenden von reload-or-restart versucht, reload zu verwenden zuerst und verwendet restart wenn reload ist nicht verfügbar.

Im Folgenden sind einige weniger gebräuchliche Optionen aufgeführt:

  • ist-aktiv :Überprüfen Sie, ob eine Einheit gerade aktiv ist (läuft)
  • ist aktiviert :Überprüfen Sie, ob ein Dienst aktiviert oder deaktiviert ist
  • fehlgeschlagen :Überprüfen Sie, ob ein Dienst in einem fehlgeschlagen ist Zustand
  • list-units :Überprüfen Sie alle Einheiten, die systemd derzeit auf dem System als aktiv betrachtet

Der list-units-Befehl

Die list-units Option zeigt eine Tabelle mit den folgenden Spalten:

  • EINHEIT :Der Name der systemd-Einheit (oder des Dienstes)
  • LADEN :Der derzeit in systemd geladene Dienst
  • AKTIV :Eine Zusammenfassung, ob der Dienst derzeit aktiv ist
  • SUB :Gibt etwas mehr Details über den aktuellen Zustand des Dienstes an
  • BESCHREIBUNG :Eine kurze Beschreibung dessen, was der Dienst ist oder tut

Hinzufügen von --all Argument für die list-units systemctl Der Befehl enthält jeden Dienst, der systemd enthält geladen oder versucht zu laden, unabhängig von seinem aktuellen Status auf dem System, wie im folgenden Beispiel gezeigt:

systemctl list-units --all

Sie können die list-units verwenden Der Befehl kann auf einige zusätzliche Arten verwendet werden, z. B. durch Hinzufügen von --state= filtern, wie im folgenden Beispiel gezeigt:

systemctl list-units --all --state=(filter)

Normalerweise verwenden Sie diese Option, um die Ergebnisse nach dem aktuellen Status des Dienstes zu filtern, entweder active oder inactive ,wie im folgenden Beispiel gezeigt:

systemctl list-units --all --state=inactive

Sie können die Ergebnisse weiter filtern, indem Sie das folgende Argument hinzufügen:

systemctl list-units --type=(filter)

Diese Option teilt systemctl mit um nur die Dienste des angegebenen Typs aufzulisten. Beispiel:Ersetzen von (filter) mit (service) im vorhergehenden Befehl listet nur aktive Diensteinheiten auf.

Ebenso können Sie den Befehl systemctl list-units-files verwenden listet jede verfügbare Unit-Datei innerhalb von systemd auf Pfad, einschließlich derjenigen, die systemd hat nicht versucht zu laden.

Der Maskenbefehl

Wenn Sie verhindern müssen, dass ein Dienst manuell oder automatisch gestartet wird, können Sie die mask verwenden Befehl mit systemctl .Angenommen, Sie möchten sicherstellen, dass Apache® nicht ausgeführt wird. Wenn Sie nicht als Root ausgeführt werden, müssen Sie sudo platzieren Befehl vor dem Befehl. Ansonsten sieht der Befehl wie im folgenden Beispiel aus:

systemctl mask httpd.service

oder

systemctl mask apache2.service

Wenn Sie die Markierung des Dienstes aufheben möchten, ersetzen Sie die vorhergehende mask mit unmask , und der Dienst kann erneut gestartet werden.

Schlussfolgerung

Während es fortgeschrittenere Verwendungen von systemctl gibt Dies sind die Verwendungsoptionen, die Sie am häufigsten verwenden werden. Sie sind jetzt mit den häufigsten Verwendungen von systemctl vertraut bei der Interaktion mit systemd . Systemctl ist Ihre Hauptinteraktionsmethode für das Service-Management.


Linux
  1. Verwalten Sie mehrere Dienstinstanzen mit systemctl

  2. So verwalten Sie Systemd-Dienste mit Systemctl unter Linux

  3. So verwenden Sie den Systemctl-Befehl zum Verwalten von Systemd-Diensten

  4. Überprüfen Sie die laufenden Dienste unter Linux

  5. So entfernen Sie systemd-Dienste

So starten, stoppen oder starten Sie Dienste in CentOS 8 neu

Erste Schritte mit systemctl

So starten Sie Dienste in der Ubuntu-Befehlszeile neu

So verwenden Sie systemctl unter Linux

Netzwerkdienste

Korrekte Verwendung von Ubuntu systemctl zur Steuerung von Systemd