systemd

Starten und Anhalten von Diensten

Um einen systemd-Dienst zu starten, indem Anweisungen in der Unit-Datei des Dienstes ausgeführt werden, verwenden Sie den Befehl start. Wenn Sie als Nicht-root-Benutzer arbeiten, müssen Sie sudo verwenden, da dies den Status des Betriebssystems beeinflusst:

systemctl start application.service

Wie bereits erwähnt, weiß systemd, nach *.service-Dateien für die Dienstverwaltungsbefehle zu suchen, sodass der Befehl auch einfach wie folgt eingegeben werden könnte:

systemctl start application

Obwohl Sie das obige Format für die allgemeine Verwaltung verwenden können, verwenden wir aus Gründen der Übersichtlichkeit für die restlichen Befehle das Suffix .service, um das Ziel, an dem wir arbeiten, explizit zu kennzeichnen.

Um einen derzeit laufenden Dienst zu stoppen, können Sie stattdessen den Befehl stop verwenden:

systemctl stop application.service

Neustart und Neuladen

Um einen laufenden Dienst neu zu starten, können Sie den Befehl restart verwenden:

systemctl restart application.service

Wenn die betreffende Anwendung ihre Konfigurationsdateien neu laden kann (ohne Neustart), können Sie den Befehl reload erteilen, um diesen Prozess zu starten:

systemctl reload application.service

Wenn Sie nicht sicher sind, ob der Dienst die Funktionalität zum Neuladen seiner Konfiguration hat, können Sie den Befehl reload-or-restart erteilen. Dadurch wird die vorhandene Konfiguration, sofern verfügbar, neu geladen. Andernfalls startet der Befehl den Dienst, sodass die neue Konfiguration abgerufen wird:

systemctl reload-or-restart application.service

Aktivieren und Deaktivieren von Diensten

Die obigen Befehle sind für das Starten oder Anhalten von Diensten während der aktuellen Sitzung nützlich. Um systemd anzuweisen, Dienste beim Booten automatisch zu starten, müssen Sie sie aktivieren.

Um einen Dienst beim Booten zu starten, verwenden Sie den Befehl enable:

systemctl enable application.service

Dadurch wird ein symbolischer Link von der Kopie der Dienst-Datei des Systems (normalerweise in /lib/systemd/system oder /etc/systemd/system) zu dem Speicherort auf Festplatte, wo systemd nach Autostart-Dateien sucht (normalerweise /etc/systemd/system/some_target.target.wants. Wir werden später in diesem Leitfaden darauf eingehen, was ein Ziel (target) ist).

Um das automatische Starten des Dienstes zu deaktivieren, können Sie Folgendes eingeben:

systemctl disable application.service

Dadurch wird der symbolische Link entfernt, der angab, dass der Dienst automatisch gestartet werden sollte.

Denken Sie daran, dass das Aktivieren eines Dienstes diesen nicht in der aktuellen Sitzung startet. Wenn Sie den Dienst starten und ihn auch beim Booten aktivieren möchten, müssen Sie sowohl den Befehl start als auch den Befehl enable erteilen.

Überprüfen des Status der Dienste

Um den Status eines Dienstes auf Ihrem System zu überprüfen, können Sie den Befehl status verwenden:

systemctl status application.service

Dadurch erhalten Sie den Dienststatus, die cgroup-Hierarchie und die ersten paar Protokollzeilen.