Spesso nei server remoti, soprattutto se pieni di utenza capita che un gran numero di shell via ssh rimangano aperte senza alcun uso, per pigrizia o per disattenzione. In entrambi i casi, ma special modo nel secondo, il sistema tiene memoria di queste connessioni lasciando processi  attivi anche se realmente morti sulla linuxbox. Per ovviare a questo, è possibile settare un timeout che automaticamente scolleghi l’utente se esso non ha effettuato alcuna attività entro il termine prescelto.

Nei sistemi attuali questa configurazione esiste di default in openssh che tramite la configurazione nativa di  sshd.conf provvede a chiudere le shell inutilizzate dopo tot tempo. Ma anche in questo caso il processo risulta rimanere in pending.

Il sistema più banale e semplice è settare il timeout direttamente per la shell in uso e bypassare il sistema di controllo del demone ssh.

I modi sono due a seconda della shell di riferimento; per la Bash (sh) e la Korne Shell (ksc) viene utilizzata la variabile d’ambiente TMOUT impostata con il valore di idle desiderato espresso in secondi.

Esempio:

~# export TMOUT=60

Per la C shell (csh) invece si usa la variabile d’ambiente autologout, dove a differenza della prima il tempo di logout viene espresso in minuti.

Esempio:

~# set autologout=1

#