LINUX.ORG.RU

Убивать эмуляторы терминала при бездействии по таймауту

 , ,


1

1

По мотивам Как не плодить консоли?

Давно хочу такую штуку: если я запустил эмулятор терминала и оставил его в режиме ожидания ввода команды (т.е. запущен только шелл), то через определенное время он (шелл) автоматически завершается, утягивая за собой эмулятор терминала. Можно, в принципе, завершать эмулятор терминала, а не shell, но это потенциально сломает мультиплексоры наподобие screen.

По идее, можно сделать это через хитро заданный prompt, но… может, есть что-то готовое? Гуглится только использование timeout для дочерних процессов.

В zsh или bash наверняка можно хук какой повесить. А если нужно чтобы не убивались всякие tmux/screen, выполнять условие только при определённом $TERM.

mord0d ★★★★★ ()
Ответ на: комментарий от firkax

sh/bash/ksh

TMOUT=60

В zsh тоже работает, но чтобы не убивало мультиплексоры, топикстартеру нужно оборачивать сие в условие, которое будет отлавливать мультиплексор.

csh

set autologout=60

А вот это не знал (не было нужды). Благодарю.

mord0d ★★★★★ ()