вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом?
в винде когда закрыл рдп то все продолжает выполняться
конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Здравствуйте, Ваня Первачев, Вы писали:
ВП>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>в винде когда закрыл рдп то все продолжает выполняться ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Извините конечно, но похоже вы просто не умеете им пользоваться.
Здравствуйте, Ваня Первачев, Вы писали:
ВП>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>в винде когда закрыл рдп то все продолжает выполняться ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Запускай с амперсандом "&" в конце команды. По идее должно помочь.
А не сделали потому что никто не ставил себе целью сделать "как в Винде".
Делали "как правильно".
Здравствуйте, alpha21264, Вы писали:
A>Запускай с амперсандом "&" в конце команды. По идее должно помочь. A>А не сделали потому что никто не ставил себе целью сделать "как в Винде". A>Делали "как правильно".
НеТ, амперсанд просто позволяет в background отправить задачу и освободить терминал для ввода. Когда его закроете, все дочерние процессы погибнут по сигналу hangup. Нужно писать
nohup taskname &
Здравствуйте, Ваня Первачев, Вы писали:
ВП>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>в винде когда закрыл рдп то все продолжает выполняться ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Модель использования такая, наивная. Как сделали с древних времён — так и осталось. Пользуйтесь screen или tmux.
Здравствуйте, kov_serg, Вы писали:
_>Здравствуйте, Ваня Первачев, Вы писали:
ВП>>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>>в винде когда закрыл рдп то все продолжает выполняться ВП>>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
_>Извините конечно, но похоже вы просто не умеете им пользоваться.
ну ок может научите?
мне нужно с удаленного компа по фтп залить 200 гб данных
использую lftp
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, Ваня Первачев, Вы писали:
ВП>>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>>в винде когда закрыл рдп то все продолжает выполняться ВП>>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
С>Модель использования такая, наивная. Как сделали с древних времён — так и осталось. Пользуйтесь screen или tmux.
Здравствуйте, alpha21264, Вы писали:
A>Запускай с амперсандом "&" в конце команды. По идее должно помочь. A>А не сделали потому что никто не ставил себе целью сделать "как в Винде". A>Делали "как правильно".
Где ж тут "правильно"?))
Этот подход устарел более 20 лет назад, как только появился глобальный интернет.
Это, скорее, инерция, чем "правильно".
Исходно терминальный доступ получил развитие в те времена, когда проблем с сеткой не было, бо не было самой глобальной сети. "Потеря сессии" в тех сценариях являлась её сознательным завершением.
Здравствуйте, Ваня Первачев, Вы писали:
ВП>ну ок может научите? ВП>мне нужно с удаленного компа по фтп залить 200 гб данных ВП>использую lftp
scp или rsync, однако. Rsync с рождения, а scp уже два года как умеют восстанавливать после прерывания.
A>Запускай с амперсандом "&" в конце команды. По идее должно помочь.
Ни разу не верно — это символ баша, который просто запускает процесс в фоне, возвращая управление в родительский. Все дерево ровно также схлопнется с башем.
Если охота сделать это для отдельно взятой команды, то см. setsid или dtach.
А вообще — юзайте screen и будет вам счастье.
P.S. В RDP это все тоже вопрос настройки. Хз как сейчас, а раньше выход из сеанса (если без ключа /admin) по умолчанию ровно также все закрывал.
Здравствуйте, Ваня Первачев, Вы писали:
ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
SSH — это примитив для сетевого соединения. Поверх него можно запускать параллельные сессии, передавать файлы и т.д.
Сам по себе SSH не обеспечивает перманентного соединения. Это можно сделать с помощью screen или tmux на удалённой стороне.
Здравствуйте, Ваня Первачев, Вы писали:
ВП>Здравствуйте, Слава, Вы писали:
С>>Здравствуйте, Ваня Первачев, Вы писали:
ВП>>>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>>>в винде когда закрыл рдп то все продолжает выполняться ВП>>>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
С>>Модель использования такая, наивная. Как сделали с древних времён — так и осталось. Пользуйтесь screen или tmux.
ВП>и всех значит устраивает?
Да.
1. Запускаете что-то длительное
2. Нажимаем ctrl-z
3. пишем bg и enter
4. профит
Но лучше скрипт запускать в фоне оторвав stdout и stderr, пренаправив их в лог файлы ./script >log 2>err & и потом tail -f log например.
Здравствуйте, Ваня Первачев, Вы писали:
С>>Модель использования такая, наивная. Как сделали с древних времён — так и осталось. Пользуйтесь screen или tmux.
ВП>и всех значит устраивает?
Не слушай всяких. Модель использования там правильная и железобетонная.
Учи матчасть.
Всё в топике указано.
Здравствуйте, kov_serg, Вы писали:
_>Да. _>1. Запускаете что-то длительное _>2. Нажимаем ctrl-z _>3. пишем bg и enter
Ещё disown. Или nohup изначально.
_>4. профит
tmux это как раз то что тебе нужно.
Идёш в ссш, запускаешь tmux, работаеш.
Вырубили свет, включили обратно
Идеш в ссш, запускаеш tmux attach, работаешь с того места где ой.
Здравствуйте, Ваня Первачев, Вы писали:
ВП>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>в винде когда закрыл рдп то все продолжает выполняться ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Здравствуйте, vdimas, Вы писали:
V>Где ж тут "правильно"?)) V>Этот подход устарел более 20 лет назад, как только появился глобальный интернет. V>Это, скорее, инерция, чем "правильно".
V>Исходно терминальный доступ получил развитие в те времена, когда проблем с сеткой не было, бо не было самой глобальной сети. "Потеря сессии" в тех сценариях являлась её сознательным завершением.
Сетка и ее качество здесь вообше "непричем". Пропажа терминал в случае разрыва сетки абсолютно эквивалентна закрыванию консоли в винде. Надо оповестить об этом процессы и что-то сделать со стандартным вводом/выводом, который на этот терминал завязаны.
Соответственно два решения:
а) терминал, который не пропадает при разрыве сетки (screen, tmux, ET и т.д.)
б) переназначит весь ввод/вывод в файлы и заблокировать оповещение (nohup)
Здравствуйте, Ваня Первачев, Вы писали:
ВП>вот почему при закрытии терминала завершаются все запущенные процессы которые были запущены под терминалом? ВП>в винде когда закрыл рдп то все продолжает выполняться ВП>конечно можно танцами с бубном это сделать в линуксе но почему не сделают это из коробки?
Здравствуйте, novitk, Вы писали:
V>>Исходно терминальный доступ получил развитие в те времена, когда проблем с сеткой не было, бо не было самой глобальной сети. "Потеря сессии" в тех сценариях являлась её сознательным завершением. N>Сетка и ее качество здесь вообше "непричем".
Еще как при чём. Кратковременный обрыв связи не должен выливаться в досадную потерю нескольких часов работы.
N>Пропажа терминал в случае разрыва сетки абсолютно эквивалентна закрыванию консоли в винде.
Это если руки кривые. Так-то я именно для линухов когда-то в бытность фрилансером разрабатывать всякие TCP-прокси, которые заданное время держали TCP-связь с серваком, даже если клиент отвалился, давая клиенту возможность подключиться опять. ))
N>Надо оповестить об этом процессы и что-то сделать со стандартным вводом/выводом, который на этот терминал завязаны.