So verwenden Sie den Befehl Timeout unter Linux?

So verwenden Sie den Befehl Timeout unter Linux?
Im Linux-Betriebssystem werden einige Prozesse kontinuierlich ausgeführt und um sie nach einer bestimmten Zeit zu töten, wird ein Befehlszeilendienstprogramm namens "Timeout" verwendet.

Der "Auszeit”Ermöglicht dem Benutzer, einen Befehl auszuführen und ihn dann zu beenden, nachdem eine festgelegte Zeit vergangen ist. Mit anderen Worten, "Auszeit”Ermöglicht es einfacher, einen Befehl für eine bestimmte Zeit auszuführen. Der "AuszeitDer Befehl „Befehl ist im GNU Core Utility Kit enthalten, das mit fast jedem Linux -System standardmäßig ausgestattet ist.

In der Beschreibung werden wir die Grundlagen dieses Befehls mit Beispielen durchlaufen.

Syntax

Der Befehl „Timeout“ enthält die folgende Syntax:

Timeout [Option] [Dauer] [Befehl]

Die Dauer kann in schwimmenden Ganzzahlen mit zeitlichem Suffix sein:

S/kein Suffix (wenn keine Suffixeinheit festgelegt wird, berücksichtigt sie die zweite)
M = Minute
H = Stunde
D = Tag

Verwenden des Befehls "Timeout"

Pingen Sie Ihr System mit einer IP -Adresse, es wird weitergehen, bis Sie es beenden, indem Sie Strg+C drücken.

Legen Sie nun eine Zeit fest, um es mit dem Befehl "Timeout" zu beenden. Zum Beispiel werde ich die Zeit auf 7 festlegen, was bedeutet, dass die Ausführung des Befehl "Ping" nach 7 Sekunden aufhört.

Befolgen Sie den folgenden Befehl untergewandt, um die Zeitlimit festzulegen:

$ timeout 7 ping 192.168.18.213

Timeout mit einer anderen Zeiteinheit festlegen

In ähnlicher Weise können wir "Facebook pingen".com ”auch mit:

$ ping Facebook.com

Um den Befehl „Ping“ nach 1 Minute zu stoppen, geben Sie einen untergegebenen Befehl in einem Terminal ein:

$ timeout 1m ping facebook.com

Beendenstatus anzeigen

Viele Programme haben einen Wert/Code an die Shell gesendet, wenn sie beendet werden.

Beenden Sie beispielsweise den folgenden Prozess. Drücken Sie Strg+C und überprüfen Sie den Exit -Status, indem Sie "Echo $" eingeben. In der Ausgabe wird „0“ zurückgegeben:

$ timeout 6 ping Facebook.com

Durch die Unterbrechung eines Laufprozesses wird immer ein "0" -Ein -Code angezeigt.

Den Status bewahren

Erhalten Sie den Status zurück, gibt einen Exit -Status zurück, wenn wir ihn mit Strg+C mit einer gewaltsamen Beendigung beenden. Der Befehl wäre:

$ timeout-preserve-status 2 ping Facebook.com

Und um den Beießcode zu überprüfen, geben Sie ein:

$ echo $?

Jetzt beträgt der Exit -Status 143.

Senden von Signalen an Timeout

Der Befehl „Timeout“ sendet ein Signal an den Prozess, um es zu beenden.

Um die verfügbaren Signale zu überprüfen, verwenden Sie den Befehl „Kill“:

$ Kill -l

Eine Liste aller verfügbaren Signale wird angezeigt.

Der "-S" (-Signal) Mit der Option können Sie ein Signal festlegen, um zu geben:

$ timeout -s

Der Befehl „Timeout“ verwendet das "Sigterm", um einen Prozess zu stoppen, aber viele Prozesse ignorieren das Signal "sigterm". Um einen Prozess mit dem Signal „Sigkill“ gewaltsam zu beenden, kann kein Prozess ignoriert werden.

Senden Sie Sigkill nach 2 Sekunden an den Ping -Befehl, geben Sie ein:

$ sudo timeout -S Sigkill Ping Facebook.com

Sie können auch Signale senden, indem Sie eine Signalnummer anstelle des Namens eines Signals verwenden:

$ sudo timeout -s 9 ping 192.168.18.213

Senden von Kill -Signalen

Der "-K" Die Option wird verwendet, um den Prozess zu beenden.

Wenn sich im folgenden Beispiel die Verbindung in 2 Minuten nicht feststellt, wird der Timeout -Befehl nach 3 Sekunden getötet:

$ sudo timeout -k 3 2m Ping Facebook.com

In meinem Fall wird der Timeout -Befehl 2 Minuten lang ausgeführt und nicht beendet. Daher wird es auch nach 3 Sekunden nicht töten.

Hilfe bekommen

Linux hat eine sehr gute Funktion, die es für jeden Befehl, den wir verwenden, Hilfe bietet. Durch die Nutzung "Hilfe" Mit einem Befehlsnamen erhalten Sie die Hilfeinformationen im Detail:

$ Timeout -HELP

Version überprüfen

Um die Version des Timeout -Befehls zu überprüfen, geben Sie ein:

$ timeout -Verssion

Abschluss

Im Linux-Betriebssystem ist der Befehl „Timeout“ ein Befehlszeilendienstprogramm, mit dem ein laufender Prozess nach einem festgelegten Zeitraum beendet wird. Es wird für die Prozesse verwendet, die kontinuierlich ausgeführt werden. Darüber hinaus kann auch auf den Exit -Status von laufenden Prozessen über den Befehl „Timeout“ zugegriffen werden. Wir haben Timeout -Befehle anhand verschiedener Beispiele mit mehreren Optionen besprochen.