GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Setzen Sie einen Timer auf Ihre laufenden Befehle mit dem Timeout-Befehl in Linux

Mit dem Timeout-Befehl können Sie ein Zeitlimit für die Ausführung anderer Befehle und Programme festlegen. Wenn das Programm länger als das eingestellte Limit läuft, beendet Timeout es.

Klingt gut, oder? Sehen wir uns an, wie dieser Befehl verwendet wird.

Timeout-Befehl unter Linux verwenden

Hier ist die Syntax für den Timeout-Befehl:

timeout [options] seconds command

Wie Sie sehen, wird hier die Zeit immer in Sekunden eingestellt.

Nehmen wir ein Beispiel mit dem Sleep-Befehl. Der Sleep-Befehl „schläft“ grundsätzlich bis zur zugewiesenen Zeit. Das heißt, es wartet nur so viele Sekunden.

timeout 4 sleep 10

Wenn ich also sleep 10 verwende, wartet die Shell 10 Sekunden. Aber wenn ich ein Timeout von 4 Sekunden setze, endet der Sleep-Befehl, der 10 Sekunden lang laufen sollte, in nur 4 Sekunden.

Standardmäßig sendet der Timeout-Befehl SIGTERM, um das laufende Programm höflich zu beenden. Sie können ein anderes Signal senden, indem Sie die Option -s verwenden.

Sie können alle Kill-Signale in Linux mit dem Befehl kill -l sehen. Angenommen, Sie möchten das SIGKILL-Signal (kill -9) anstelle des Standardsignals SIGTERM senden. Sie können so etwas verwenden:

timeout -s SIGKILL 3 sleep 30

Sie können statt SIGKILL auch KILL oder 9 (die Zahl für SIGKILL wie in kill -l aufgeführt) verwenden.

Ein Programm hart zu töten ist keine schöne Sache. Aber ein Programm kann das SIGTERM ignorieren.

Besser ist es, das Kill-Signal nur dann zu senden, wenn Ihre anfängliche Beendigungsanfrage vom laufenden Programm ignoriert wird.

Angenommen, Sie möchten ein Programm nicht länger als 5 Sekunden ausführen. Wenn sich das laufende Programm jedoch weigert, zu stoppen, senden Sie das Kill-Signal 3 Sekunden nach dem Senden des Standard-SIGTERM. Folgendes können Sie verwenden:

timeout -k 3 5 program

Das bedeutet, dass Ihr Programm nicht länger als 8 Sekunden läuft. Mit dem time-Befehl können Sie überprüfen, wie lange das Programm tatsächlich gelaufen ist.

Gibt es eine praktische Verwendung des Timeout-Befehls?

Es klingt wie einer dieser obskuren Linux-Befehle, die Sie vielleicht nicht jeden Tag verwenden. Es könnte jedoch in einigen speziellen Situationen nützlich sein.

Zum Beispiel, wenn Sie angefangen haben, ein Terminalspiel zu spielen, um Ihre Stimmung ein wenig aufzufrischen, aber die Zeit aus den Augen verloren und viel länger als die gewünschte Zeit weitergespielt haben.

Der Timeout-Befehl ist in solchen Fällen hilfreich.

Bleiben Sie dran, um mehr Linux-Befehle zu lernen. Abonnieren Sie den Newsletter, um regelmäßig Tipps und Tricks zu erhalten.


Linux
  1. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

  2. JQ-Befehl in Linux mit Beispielen

  3. Ausführen von Linux-Befehlen im Hintergrund und Vordergrund

  4. A bis Z Linux-Befehle

  5. Die einfachsten Linux-Befehle mit 10 Beispielen

So führen Sie einen Befehl mit Zeitlimit (Timeout) in Linux aus

Linux-IP-Befehl mit Beispielen

Timeout-Befehl in Linux

Linux-Timeout-Befehl für Anfänger erklärt (mit Beispielen)

15 Linux-PS-Befehl mit Beispielen

Der Timer-Befehl in Linux