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)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.