Esegui un comando per un tempo specificato e poi interrompi se il tempo supera


47

Voglio sapere come posso eseguire un comando per un tempo specificato, ad esempio un minuto e se non completa l'esecuzione, dovrei essere in grado di fermarlo.

Risposte:


62

Utilizzare timeout:

NAME
       timeout - run a command with a time limit

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

(Per ogni evenienza, se non si dispone di questo comando o se è necessario essere compatibili con shell molto vecchie e avere diversi altri requisiti assolutamente specifici ... dare un'occhiata a questa domanda ;-))


1
Perfetto, grazie per il collegamento a questa domanda. Non avevo il timeout sul mio sistema, ma ora lo faccio. Solo su una nota a margine, il timeout è in bundle con la maggior parte delle distribuzioni di Linux?
nikhil,

1
Abbastanza bello puoi fare qualcosa del genere: for i in `seq 0 3`; do timeout 2 ethtool -p eth$i; done;far lampeggiare i LED sulla scheda di rete
user1527227

1
Che comando sexy. Grazie per averlo segnalato, non ne ero a conoscenza.
Bruno Bieri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.