Re: Переключиться на фоновый процесс после возобновления сеанса.
On 2015.06.11 at 18:52:32 +0700, Ста Деюс wrote:
> Доброго времени суток.
>
>
> Можно ли переключиться на процесс, отправленный в фон, если закончить
> сеанс, а потом снова открыть сеанс? -- Речь идёт о текстовой консоли.
По идее, при окончании сеанса текстовой консоли (логауте) всем
процессам, запущенным из этого сеанса должен прилететь сигнал SIGHUP,
если только не принято специальных мер.
X-терминалы так обычно себя не ведут, и при корректном закрытии
терминала фоновые процессы оставляют - мало ли, может у этих процессов
свой GUI есть.
Специальные меры бывают
1. Предпринятые разработчиком программы. Это так называетмая
"демонизация". Можно написать программу так, что она не просто уйдет в
фон, а отцепится от управляющего терминала, выпишет себя из сессии,
и станет процессом-демоном.
Прицепить обратно её уже никак.
Из пользовательских программ так умеет себя вести, например wget или
lftp.
2. Предпринятые юзером. Здесь у нас есть два варианта:
2.1 старая добрая утилита nohup. Если мы запускаем фоновый процесс
nohup команда параметры
то он опять же программа отцепится от терминала, выпишется из сессии и
весь ее ввод-вывод пойдет в nohup.out. Прицепить обратно уже никак.
2.2. screen. Это программа позволяющая в пределах одного терминала
(физической консоли или эмулятора терминала) создать много виртуальных
терминалов, отцепляться и подцепляться к ним. В общем, это видимо то,
что вы ищете. Одна проблема - надо сначала запустиь screen, а потом уже
в его окнах запускать программы, чтобы можно было отцепить сессию и
прицепить ее потом обратно. А если вы запустили фоновую задачу, а через
два часа обнаружили, что она еще работает, и будет работать еще три
часа, а вам отсюда бежать пора, то увы.
>
Reply to: