Michele Liberi software

versione 1.03, 1 settembre 2022

Michele Liberi
mail: mliberi@gmail.com
cell: 3485211456

liberix

tmout, lancia un comando con un tempo limite

Il comando tmout è la mia versione del comando timeout. In verità la prima versione del 1997 del mio comando si chiamava proprio timeout, e l'omonimo comando non esisteva. Quando il comando timeout è apparso sui sistemi Linux ho dovuto cambiare il nome del mio comando per evitare problemi in fase di esecuzione delle shell script, perché la sintassi è un pochino diversa.

Il comando tmout consente di lanciare un altro comando previa impostazione di un tempo limite per l'esecuzione.

Se il comando lanciato termina la sua esecuzione entro e non oltre il tempo limite impostato il comando tmout è completamente trasparente. Se invece il comando lanciato rimane in esecuzione oltre il tempo limite impostatato, tmout invia al sottoprocesso un segnale di chiusura e termina con return code 142.

È possibile impostare il segnale per terminare il comando (opzione -k).

Il tempo massimo può essere impostato in secondi (opzione -t), o in settimane, giorni, ore, minuti, secondi (opzione -K).

Esempio 1: lancia il comando df con un tempo limite di 10s.

tmout -t 10 df

Esempio 2: lancia il comando df con un tempo limite di 2 ore, 3 minuti e 15 secondi.

tmout -K2h3m15s df

Per ulteriori informazioni sulle opzioni disponibili lanciare il comando tmout -h.