So führen Sie einen Befehl mit Zeitlimit (Timeout) unter Linux aus
Linux wird mit einer Fülle von Befehlen geliefert, wobei jeder Befehl einzigartig ist und in bestimmten Fällen verwendet wird. Das Ziel von Linux ist es, Ihnen zu helfen, so schnell und effizient wie möglich zu sein. Eine Eigenschaft eines Linux-Befehls ist das Zeitlimit. Sie können ein Zeitlimit für jeden beliebigen Befehl festlegen. Wenn die Zeit abgelaufen ist, wird der Befehl nicht mehr ausgeführt.
In diesem kurzen Tutorial lernen Sie zwei Methoden kennen, wie Sie ein Zeitlimit in Ihren Befehlen verwenden können.
Auf dieser Seite:
- Ausführen von Linux-Befehlen mit dem Timeout-Tool
- Führen Sie Linux-Befehle mit dem Timelimit-Programm aus
Ausführen von Linux-Befehlen mit dem Timeout-Tool
Linux verfügt über ein Befehlszeilenprogramm namens Timeout, mit dem Sie einen Befehl mit einem Zeitlimit ausführen können.
Die Syntax lautet wie folgt.
timeout [OPTION] DURATION COMMAND [ARG]...
Um den Befehl zu verwenden, geben Sie mit dem Befehl, den Sie ausführen möchten, einen Zeitüberschreitungswert (in Sekunden) an. Um beispielsweise einen Ping-Befehl nach 5 Sekunden abzuschalten, können Sie den folgenden Befehl ausführen.
# timeout 5s ping google.com
Sie müssen die (s) nach der Nummer 5 nicht angeben. Der folgende Befehl ist derselbe und funktioniert weiterhin.
# timeout 5 ping google.com
Weitere Suffixe sind:
msteht für das Protokollhsteht für Stundendsteht für Tage
Manchmal werden Befehle auch dann noch ausgeführt, wenn die Zeitüberschreitung das erste Signal gesendet hat. In solchen Fällen können Sie die Option --kill-after verwenden.
Hier ist die Syntax.
-k, --kill-after=DURATION
Sie müssen eine Dauer angeben, um dem Timeout mitzuteilen, nach wie viel Zeit das Kill-Signal gesendet werden soll.
Zum Beispiel wird der gezeigte Befehl nach 8 Sekunden beendet.
# timeout 8s tail -f /var/log/syslog
Führen Sie Linux-Befehle mit dem Timelimit-Programm aus
Das Timelimit-Programm führt einen bestimmten Befehl aus und beendet den Prozess nach einer bestimmten Zeit mit einem bestimmten Signal. Es gibt zunächst ein Warnsignal und sendet dann nach einer Zeitüberschreitung das Kill-Signal.
Im Gegensatz zur Timeout-Option verfügt Timelimit über mehr Optionen wie killsig, warnsig, killtime und warntime.
Timelimit kann in den Repositories von Debian-basierten Systemen gefunden werden, und um es zu installieren, verwenden Sie den folgenden Befehl.
$ sudo apt install timelimit
Bei Arch-basierten Systemen können Sie es mit AUR-Hilfsprogrammen installieren, z. B. Pacaur Pacman und Packer.
# Pacman -S timelimit
pacaur -S timelimit
packer -S timelimit
Bei anderen Linux-Distributionen können Sie timelimit source herunterladen und manuell installieren.
Führen Sie nach der Installation den folgenden Befehl aus, und geben Sie die Uhrzeit an. In diesem Beispiel können Sie 10 Sekunden verwenden.
$ timelimit -t10 tail -f /var/log/pacman.log
Beachten Sie, dass Timelimit die Standardwerte verwendet, wenn Sie keine Argumente angeben: warntime=3600 seconds, warnsig=15, killtime=120 und killsig=9.
Schlussfolgerung
In dieser Anleitung haben Sie gelernt, wie Sie Befehle mit einem Zeitlimit unter Linux ausführen. Bei der Überprüfung können Sie den Befehl Timeout oder das Dienstprogramm Timelimit verwenden.
Der Timeout-Befehl ist einfach zu bedienen, aber das Timelimit-Dienstprogramm ist etwas kompliziert, bietet aber mehr Optionen. Sie können je nach Bedarf die am besten geeignete Option auswählen.

