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.