Linux-компьютер управляется через Windows-компьютер при помощи Putty.
На Linux-компьютере запущена какая-то программа, например, идет закачка по wget.
Когда Windows-компьютер выключается, сессия Putty захлопывается и закачка на Linux-компьютере обрывается.
Как этого избежать?
Re: Как не закрывать сессию в Putty #1
Andre,
man screen или man nohup
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Как не закрывать сессию в Putty #2
Re: Как не закрывать сессию в Putty #3
Поиск рулит
Перевод "man nohup"
Для закачки при помощи screen'а достаточно выполнить "screen -dm wget -r http://Наше.Всио/".
Так он будет работать аналогично nohup, т.е. не даст прибить wget, после выхода из PutTTY.
Консольный оконный менеджер - SCREEN
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Как не закрывать сессию в Putty #4
ks,
спасибо за интересное пояснение, но все равно непонятно, как screen соотносится к putty, ведь последняя живет совсем по другим правилам, чем эти полезные команды
Я вам покажу как с дураками связываться!
Re: Как не закрывать сессию в Putty #5
Тем, что screen можно запустить и в PuTTY, и в икс-терминале, и в консоли.
При обычном запуске создается два процесса, один работает как демон,
создавая tty для запущенных программ, а другой работает как клиент
этого демона с терминалом пользователя. В этом случае говорят о присоединенной
сесии screen. Демон может работать в режиме т.н. отсоединенной сессии, сохраняя
вывод запущенных программ.
PuTTY, работает как клиент SSH или Telnet, на которых можно запустить screen.
Если во время работы screen закончить сессию PuTTY с ssh или telnet, то программам,
которые были запущены в сеансе ssh, в том числе и screen-клиенту, будет послан
сигнал HUP, они прекратят работу, а демон screen продолжит работать в режиме
отсоединенной сессии с запущенными на его tty программами. Потом можно будет
запустить новый процесс screen-клиента и подключится к демону screen.
screen можно сразу запустить в режиме отсоединенной сессии и подключится к нему
позже. Выполните
screen -dm bash -c 'for i in {1..100}; do echo $i; sleep 1;done'а через некоторое время
screen -Rили запустите screen, выполните
for i in {1..100};do echo $i;sleep 1;doneзатем нажмите Ctrl+a d, а потом, через некоторое время
screen -rПоехали!
JID: konst.su [обезьяна] gmail.com