So verwalten Sie systemd-Dienste mit dem Befehl systemctl unter Linux

Das Verwalten von Diensten ist eine der Hauptaufgaben von Linux-Systemadministratoren. Für Linux-Benutzer ist es auch wichtig zu wissen, wie Systemdienste verwaltet werden, da sie möglicherweise auf die eine oder andere Weise mit Diensten umgehen müssen.

In diesem Handbuch wird erläutert, wie Sie systemd-Dienste mit dem Befehl systemctl verwalten.

Was ist systemd?

Systemd ist ein System- und Servicemanager für Linux-Betriebssysteme. Es ist der Standard-Service-Manager in vielen Linux-Distributionen, einschließlich Ubuntu, Red RHEL, OpenSuse und Arch Linux. Systemd ist ein Nachfolger älterer Service Manager wie System V und Upstart .

Im Gegensatz zum System V Service Manager möchte systemd effizienter arbeiten, indem Dienste parallel gestartet werden, um den Linux-Startvorgang zu beschleunigen. Ein weiteres einzigartiges Merkmal von systemd ist, dass es Dienste bei Bedarf bereitstellt, dh den Start eines Dienstes nur dann verschieben kann, wenn das System ihn benötigt, was die Leistung erheblich verbessert.

Systemd beschränkt sich nicht nur auf die Verwaltung von Betriebsprozessen oder -diensten, sondern kann auch zum Mounten von Dateisystemen, Überwachen von Netzwerken, Ausführen von Timern und mehr verwendet werden.

Verwalten von systemd-Diensten mit systemctl

Unter Linux ist der Befehl systemctl für die Verwaltung der systemd-Dienste verantwortlich. Wenn Sie das Verzeichnis / usr / lib / systemd auf Ihrem System haben, verwenden Sie höchstwahrscheinlich den systemd-Dienstmanager.

Sie können auch einen der folgenden Befehle ausführen, um zu überprüfen, ob der systemd service manager auf Ihrem System verfügbar ist.

 systemctl --version
systemd --version

Überprüfen des Status eines Dienstes

Verwenden Sie den Statusbefehl gefolgt vom Namen des Dienstes, den Sie überprüfen möchten, um den Status eines bestimmten Dienstes auf Ihrem System zu überprüfen.

Um beispielsweise den Status des Docker- Dienstes zu überprüfen, können Sie den folgenden Befehl ausführen. Docker ist ein modernes Virtualisierungsprogramm, mit dem Softwareentwickler Anwendungen effizient erstellen.

 systemctl status docker

Hinweis: Das systemctl-Hilfehandbuch bezieht sich auch auf das Verb nach systemctl als Befehl. Daher wird dieses Handbuch aus Konsistenzgründen an dieser Definition festhalten .

So verwalten Sie systemd-Dienste mit dem Befehl systemctl unter Linux - check status a service 1

Verwandte Themen: Gründe für die Verwendung der Docker-Virtualisierungssoftware

Neben der Auflistung des Status des Dienstes enthält der Statusbefehl wichtige Informationen wie die Prozess-ID des Dienstes, die Speichernutzung und eine einfache Auflistung der letzten Änderungen im Dienst.

Die Kenntnis des Status eines Dienstes ist eine der wichtigsten Methoden, mit denen Sie Fehler beheben oder Probleme diagnostizieren können. Bevor Systemadministratoren auf Details eingehen, warum etwas nicht funktioniert, prüfen sie in der Regel, ob der Dienst zuerst ausgeführt wird.

Listing Services Mit systemctl

Oft müssen Sie wissen, welche Dienste auf Ihrem System verfügbar sind, bevor Sie mit der Verwaltung fortfahren können. Mit dem folgenden Befehl können Sie alle verfügbaren Dienste auf Ihrem System auflisten.

 systemctl list-unit-files --type service --all

Der Befehl listet nicht nur die auf Ihrem System verfügbaren Dienste auf, sondern zeigt auch den Status dieser Dienste an. Die häufigsten Staaten sind; aktiviert, deaktiviert, maskiert usw.

Starten und Stoppen von Diensten

Der Befehl stop wird zum Stoppen eines Dienstes verwendet, den Sie nicht mehr ausführen möchten. So beenden Sie beispielsweise den Docker- Dienst:

 systemctl stop docker

Es gibt mehrere Gründe, Dienste auf Ihrem Linux-Computer zu beenden. Nicht verwendete Dienste verbrauchen unnötige Systemressourcen und beeinträchtigen die Leistung Ihres PCs.

Wenn ein Dienst zu viel Speicher belegt, sollten Sie andere Optionen zum Verwalten des Speichers unter Linux in Betracht ziehen. Das Ausführen mehrerer Dienste ist auch ein potenzielles Sicherheitsrisiko, da Sie mehr Ports für die Nutzung nach außen freigeben.

Um einen Dienst zu starten, der nicht ausgeführt wird, verwenden Sie den Startbefehl. So starten Sie beispielsweise den Docker- Dienst, den Sie kürzlich gestoppt haben:

 systemctl start docker

Wenn Sie einen Dienst stoppen und sofort wieder starten möchten, können Sie den Befehl restart wie folgt verwenden.

 systemctl restart docker

Dienste aktivieren und deaktivieren

Die Begriffe Aktivieren und Starten von Diensten sind für einige Linux-Benutzer häufig verwirrend. Wenn Sie einen Dienst aktivieren, sagen Sie, dass der Dienst beim Starten des Systems verfügbar gemacht werden soll oder einen Dienst bereitstellt, wenn bestimmte Hardware angeschlossen ist. So aktivieren Sie den Docker-Dienst unter Linux:

 systemctl enable docker

Um zu verhindern, dass ein Dienst beim Booten gestartet wird, können Sie den Befehl disable verwenden . Geben Sie beispielsweise den folgenden Befehl ein, um den Docker- Dienst zu deaktivieren.

 systemctl disable docker

Es gibt viele andere Befehle und Optionen, die Sie zum Verwalten von Diensten auf Ihrem System verwenden können. Führen Sie den Hilfebefehl systemctl –help aus oder sehen Sie sich die Systemctl-Manpages an, wenn Sie sich im Befehl nicht zurechtfinden.

 man systemctl

Manchmal werden einige Dienste beim Systemstart gestartet. Wenn diese Dienste vom System nicht benötigt werden, wirken sie sich auf die Gesamtleistung des Computers aus. Sie können solche Startdienste und Daemons unter Linux problemlos stoppen.