Linux esegue un comando con un limite di tempo (timeout)

Blog

Voglio avviare il comando chiamato foo e ucciderlo se è ancora in esecuzione dopo aver dato DURATION in secondi. Come posso eseguire un comando un limite di tempo su Linux? Come posso eseguire un comando Linux e farlo scadere (interruzione) dopo N secondi? Puoi fornire esempi di comandi di timeout in Linux?



GNU/Linux arriva al comando di timeout. Esegue un comando con un limite di tempo. Si può anche usare Perl o bash shell per eseguire un comando e farlo scadere dopo N secondi. Questa pagina spiega come avviare un comando e terminarlo se il timeout specificato scade. In altre parole, esegui un comando Linux o Unix con un tempo limitato.

ANNUNCI



Come eseguire un comando con un limite di tempo su Linux

Il nostro obiettivo è eseguire un comando chiamato ping www.cyberciti.biz con un limite di tempo di 30 secondi:

  1. Apri l'applicazione terminale
  2. Esegui il comando ping per interromperlo dopo 30 secondi: ping timeout 30s www.cyberciti.biz
  3. Si può combinare sleep e altri comandi della shell: ping www.cyberciti.biz & dormire 30 anni; uccidere $!

Vediamo tutti i comandi di timeout, la sintassi e gli esempi nei sistemi operativi Linux.



Comando del limite di tempo di Linux

La sintassi è la seguente per il comando timeout:

timeout DURATION COMMAND

timeout DURATION COMMAND arg1 arg2

timeout 1m ping google.com

timeout 30s tracepath www.cyberciti.biz

timeout [options] DURATION COMMAND arg1 arg2

DURATION è un numero in virgola mobile con un suffisso opzionale come segue:

  • S per secondi (impostazione predefinita).
  • m per minuti.
  • h per ore.
  • D per giorni.

Come eseguire il comando ping per 8 secondi e interromperlo

Provare:

date

timeout 8s ping www.cyberciti.biz

timeout 8s ping 192.168.2.254

date

Come eseguire un comando per un tempo specifico in Linux

Comando di timeout di Linux per ssh

Supponiamo che tu voglia avviare la sessione ssh solo per i minuti di fuoco per l'esecuzione di command/app1 e morire dopo 5 minuti, esegui:

opencv su lampone pi 4

timeout 5m monitor@server1.cyberciti.biz -- /path/to/app1 --save --force --update

#linux

www.cyberciti.biz

Linux esegue un comando con un limite di tempo (timeout)

Esegui un comando Linux/Unix con un limite di tempo: scopri come eseguire un comando e fallo interrompere o scadere dopo N secondi usando timeout, bash e Perl one-liner. Questa pagina spiega come avviare un comando e terminarlo se il timeout specificato scade. In altre parole, esegui un comando Linux o Unix con un tempo limitato.