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.

nikhil
quelle

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

Stéphane Gimenez
quelle
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