IL "tempo scaduto"Consente all'utente di eseguire un comando e quindi terminarlo dopo che è passato un tempo impostato. In altre parole, "tempo scaduto"Rende più facile eseguire un comando per un certo periodo di tempo. IL "tempo scaduto"Il comando è incluso nel kit di utilità Core GNU, che viene fornito di serie con quasi tutti i sistemi Linux.
Nella scrittura, esamineremo i fondamenti di questo comando con esempi.
Sintassi
Il comando "timeout" ha la seguente sintassi:
timeout [opzione] [durata] [comando]
La durata può essere nei numeri interi galleggianti con il suffisso del tempo:
S/NO suffisso (quando non è fissata unità di suffisso, considera il secondo)Usando il comando "timeout"
Ping il tuo sistema con un indirizzo IP, continuerà fino a quando non lo interromperai premendo Ctrl+C.
Ora, imposta un tempo per terminarlo utilizzando il comando "timeout". Ad esempio, imposterò il tempo su 7, il che significa che l'esecuzione del comando "ping" si fermerà dopo 7 secondi.
Seguire il comando di seguito per impostare il limite di tempo:
$ timeout 7 ping 192.168.18.213
Impostazione del timeout con un'altra unità temporale
Allo stesso modo, possiamo ping "Facebook.com "anche, usando:
$ ping Facebook.com
Per fermare il comando "ping" dopo 1 minuto, digitare un comando sotto punteggio in un terminale:
$ timeout 1m ping facebook.com
Mostrando lo stato di uscita
Molti programmi hanno inviato un valore/codice alla shell quando terminano.
Ad esempio, termina il seguente processo prima di colpire il suo limite di tempo che è 6 secondi. Premi CTRL+C e controlla lo stato di uscita digitando "Echo $". Restituirà "0" nell'output:
$ timeout 6 ping facebook.com
L'interruzione di un processo in esecuzione fornirà sempre un codice di uscita "0".
Preservare lo stato
La conservazione dello stato restituisce uno stato di uscita anche se lo terminiamo con forza usando CTRL+C. Il comando sarebbe:
$ timeout-Preserve-Status 2 ping Facebook.com
E per controllare il codice di uscita, digitare:
$ echo $?
Ora, lo stato di uscita sarà 143.
Invio di segnali al timeout
Il comando "timeout" invia un segnale al processo per terminarlo.
Per controllare i segnali disponibili, utilizzare il comando "Kill":
$ kill -l
Verrà visualizzato un elenco di tutti i segnali disponibili.
IL "-S" (-signal) l'opzione consente di impostare un segnale da fornire:
$ timeout -s
Il comando "timeout" utilizza il "SIGTERM" per fermare un processo, ma molti processi ignorano il segnale "Sigterm". Per terminare con forza un processo utilizzando il segnale "Sigkill", non può essere ignorato da alcun processo.
Invio di Sigkill al comando ping dopo 2 secondi, digitare:
$ sudo timeout -s Sigkill ping Facebook.com
Puoi anche inviare segnali utilizzando un numero di segnale anziché il nome di un segnale:
$ sudo timeout -s 9 ping 192.168.18.213
Invio di segnali di uccisione
IL "-K" l'opzione viene utilizzata per terminare il processo.
Nell'esempio seguente, se la connessione non si stabilisce in 2 minuti, ucciderà il comando timeout dopo 3 secondi:
$ sudo timeout -k 3 2m ping facebook.com
Nel mio caso, il comando timeout verrà eseguito per 2 minuti e non sarà terminato. Pertanto, non ucciderà nemmeno dopo 3 secondi.
Ottenere aiuto
Linux ha un'ottima funzionalità che fornisce aiuto per ogni comando che utilizziamo. Usando "aiuto" Con un nome di comando, ti fornirà le informazioni di aiuto in dettaglio:
$ timeout - -help
Versione controllata
Per controllare la versione del comando timeout, digita:
$ timeout -Version
Conclusione
Nel sistema operativo Linux, il comando "timeout" è un'utilità della linea di comando che viene utilizzata per terminare un processo in esecuzione dopo un periodo impostato. Viene utilizzato per i processi che funzionano continuamente. Inoltre, è possibile accedere allo stato di uscita dei processi in esecuzione utilizzando il comando "timeout". Abbiamo discusso dei comandi di timeout attraverso diversi esempi con diverse opzioni.