Führen Sie einen Befehl für eine bestimmte Zeit aus und brechen Sie den Vorgang ab, wenn die Zeit abgelaufen ist


47

Ich möchte wissen, wie ich einen Befehl für eine bestimmte Zeitspanne ausführen kann, beispielsweise eine Minute, und wenn die Ausführung nicht abgeschlossen ist, sollte ich ihn anhalten können.

Antworten:


62

Verwendung timeout:

NAME
       timeout - run a command with a time limit

SYNOPSIS
       timeout [OPTION] DURATION COMMAND [ARG]...
       timeout [OPTION]

(Nur für den Fall, dass Sie diesen Befehl nicht haben oder mit sehr, sehr alten Shells kompatibel sein müssen und mehrere andere, äußerst spezifische Anforderungen haben… werfen Sie einen Blick auf diese Frage ;-))


1
Perfekt, danke für den Link zu dieser Frage. Ich hatte keine Zeitüberschreitung auf meinem System, aber jetzt. Ist das Timeout bei den meisten Linux-Distributionen gebündelt?
Nikhil

1
Ziemlich cool. Sie können so etwas tun: for i in `seq 0 3`; do timeout 2 ethtool -p eth$i; done;um die
LEDs

1
Was für ein sexy Befehl. Vielen Dank für den Hinweis, wusste es nicht.
Bruno Bieri
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.