Domanda :Vorrei terminare la mia shell della riga di comando Unix, quando non eseguo alcun comando per un numero N di secondi. cioè come disconnettersi automaticamente se non c'è attività in una shell Linux?
Rispondi :la variabile TMOUT in bash terminerà la shell se non c'è attività per N secondi come spiegato di seguito.
# export TMOUT=N
- N è in secondi. Quando non c'è attività per N secondi, la shell verrà terminata.
Esempio :termina la shell se non ci sono attività per 5 minuti.
# export TMOUT=300
Se non c'è attività in una particolare shell per più di 5 minuti, la shell terminerà. Non è possibile utilizzare questa tecnica per disconnettersi da una sessione GUI.
Da man bash:
TMOUT If set to a value greater than zero, TMOUT is treated as the default timeout for the read builtin. The select command termi‐ nates if input does not arrive after TMOUT seconds when input is coming from a terminal. In an interactive shell, the value is interpreted as the number of seconds to wait for input after issuing the primary prompt. Bash terminates after waiting for that number of seconds if input does not arrive.
TMOUT è utile quando si esegue un ssh-ing su un server remoto e si desidera disconnettersi dal server remoto quando non si esegue alcuna attività per un numero x di secondi. Aggiungi il comando export al tuo .bash_profile o .bashrc sul server remoto.