Übersicht
Der Befehl `service` bietet eine standardisierte Schnittstelle zur Ausführung von System V init-Skripten im Verzeichnis `/etc/init.d/`. Dies ermöglicht es Benutzern, Dienste auf konsistente Weise zu verwalten. Auch auf modernen Linux-Distributionen, die `systemd` verwenden, kann der Befehl `service` verwendet werden, obwohl er intern möglicherweise zu `systemctl` umgeleitet wird oder nur zur Verwaltung von System V init-Skripten dient.
Hauptfunktionen
- Dienst starten (start)
- Dienst stoppen (stop)
- Dienst neu starten (restart)
- Dienststatus abfragen (status)
- Status aller Dienste abfragen (--status-all)
Wichtige Optionen und Aktionen
Der Befehl `service` erwartet hauptsächlich den `Dienstnamen` und eine `Aktion` als Argumente. Es gibt auch einige globale Optionen.
Dienstaktionen
Globale Optionen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`service` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Apache Webserver starten
service apache2 start
Startet den Apache Webserver-Dienst.
MySQL-Dienststatus abfragen
service mysql status
Fragt den aktuellen Status des MySQL-Datenbankdienstes ab.
Netzwerkdienst neu starten
service network restart
Startet den Netzwerkdienst neu.
Status aller System V-Dienste abfragen
service --status-all
Zeigt den Status aller von System V init-Skripten verwalteten Dienste auf einen Blick an.
Tipps & Hinweise
Informationen zu wichtigen Punkten bei der Verwendung des Befehls `service` und dessen Beziehung zu `systemctl`.
Verwendung in systemd-Umgebungen
- Beziehung zu systemctl: Die meisten modernen Linux-Distributionen (z. B. Ubuntu 15.04+, CentOS 7+) verwenden `systemd` als primäres Init-System. In diesen Umgebungen kann die Verwendung des Befehls `service` intern in den Befehl `systemctl` umgewandelt werden. Daher ist die direkte Verwendung von `systemctl` zur Verwaltung von `systemd`-Diensten klarer und leistungsfähiger.
- Empfehlung: Es ist üblich, `systemctl` auf `systemd`-basierten Systemen und `service` auf System V init-basierten Systemen zu verwenden. Wenn Sie sich nicht sicher sind, welchen Befehl Sie verwenden sollen, versuchen Sie es zuerst mit `systemctl`. Wenn dies nicht funktioniert oder Sie nur System V init-Skripte verwalten müssen, sollten Sie `service` in Betracht ziehen.
Dienstname
Der Dienstname muss mit dem Namen der Skriptdatei im Verzeichnis `/etc/init.d/` übereinstimmen. Wenn es beispielsweise ein Skript `/etc/init.d/apache2` gibt, verwenden Sie es wie `service apache2 ...`.