Mit dem Dienstbefehl können Sie ein System-V-Init-Skript ausführen. In diesem Tutorial werden wir dieses Tool anhand einiger leicht verständlicher Beispiele kurz erläutern. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.
Linux-Dienstbefehl
Hier ist die verfügbare Syntax für den Dienstbefehl unter Linux:
service SCRIPT COMMAND [OPTIONS]
service --status-all
service --help | -h | --version
Und so erklärt es die Manpage:
service runs a System V init script or systemd unit in as predictable an environment as possible,
removing most environment variables and with the current working directory set to /.
The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT, or the name
of a systemd unit. The existence of a systemd unit of the same name as a script in /etc/init.d
will cause the unit to take precedence over the init.d script. The supported values of COMMAND
depend on the invoked script. service passes COMMAND and OPTIONS to the init script unmodified.
For systemd units, start, stop, status, and reload are passed through to their systemctl/initctl
equivalents.
All scripts should support at least the start and stop commands. As a special case, if COMMAND
is --full-restart, the script is run twice, first with the stop command, then with the start
command.
service --status-all runs all init scripts, in alphabetical order, with the status command. The
status is [ + ] for running services, [ - ] for stopped services and [ ? ] for services
without a status command. This option only calls status for sysvinit jobs.
Wie wird der Dienstbefehl verwendet?
Die Verwendung des Befehlszeilentools „service“ ist überhaupt nicht kompliziert. Lassen Sie uns darüber sprechen, wie Sie dieses Dienstprogramm verwenden können, wenn es um die Handhabung von Skripten wie httpd und sshd geht.
So führen Sie ein Skript mit service:
ausservice httpd start
So stoppen Sie ein bereits laufendes Skript mit service:
service sshd stop
So rufen Sie den Status für ein Skript ab:
service httpd status
So starten Sie einen bereits laufenden Dienst neu:
service sshd restart
Schlussfolgerung
Abhängig von Ihren Rechten als Linux-Benutzer möchten Sie möglicherweise alle oben genannten Beispiele mit dem Befehl "sudo" ausführen. Um mehr über den Befehl „service“ zu erfahren, besuchen Sie seine Manpage.