GNU/Linux >> Znalost Linux >  >> Linux

TMOUT – Automaticky ukončí Unix Shell, když není žádná aktivita

Otázka :Chtěl bych ukončit svůj unixový příkazový řádek, když neprovedu žádný příkaz po dobu N počtu sekund. tj. Jak se automaticky odhlásit, pokud v prostředí Linuxu neprobíhá žádná aktivita?

Odpověď :Proměnná TMOUT v bash ukončí shell, pokud nedojde k žádné aktivitě po dobu N sekund, jak je vysvětleno níže.

# export TMOUT=N
  • N je v sekundách. Pokud nedojde k žádné aktivitě po dobu N sekund, shell bude ukončen.

Příklad :Ukončete shell, pokud po dobu 5 minut neproběhne žádná aktivita.

# export TMOUT=300

Pokud v konkrétním prostředí není žádná aktivita po dobu delší než 5 minut, pak tento shell ukončí. Tuto techniku ​​nelze použít k odhlášení z relace GUI.

Od 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 je užitečný, když používáte ssh na vzdálený server a chcete se odhlásit ze vzdáleného serveru, když po dobu x počtu sekund neprovádíte žádnou aktivitu. Přidejte příkaz export do svého .bash_profile nebo .bashrc na vzdáleném serveru.


Linux
  1. Výchozí kód ukončení při ukončení procesu?

  2. Opakovat příkaz Unix každých X sekund navždy?

  3. Použití kláves Vi k úpravě příkazů Shell v Unixu?

  1. 4 způsoby provádění skriptu Shell v systému UNIX / Linux

  2. 3 Unixové skripty Shell – Aktivita uživatele, Zobrazení procesů, Zobrazení paměti

  3. Kdy zalomit uvozovky kolem proměnné shellu?

  1. Jak trvale nastavit $PATH na Linux/Unix?

  2. Problém s proměnnou shellu při pokusu o mkdir

  3. Proč LXC, když existuje linux-vserver?