Я пытаюсь использовать сеанс экрана GNU, чтобы пройти длинный код построчно для отладки. Я работаю в нем через оболочку. Я начинаю экран с screen -S Name
. Обычно я запускаю несколько строк вычислений, и это занимает некоторое время, поэтому я оставляю терминал открытым. Иногда труба прорывается к моему SSH, поэтому я закрываю терминал. Когда я вернусь через несколько часов и попробую screen -r Name
, экран исчезнет и не будет отображаться с screen -ls
. Было ли это удалено? Как я могу предотвратить это? Я не могу прогрессировать с моей работой, потому что я продолжаю терять ее
1 ответ
Я вполне уверен, что большинство клиентов ssh выходят из сервера, когда они отключают / выходят из системы / теряют соединение - в этом случае сервер отбрасывает все процессы, которые пользователь выполнял в активном окне ssh. Одним из решений, которое вы можете попробовать, является nohup screen -S name
, которое будет запускать команду, но не будет принимать ввод с клавиатуры и не будет выводить на консоль - вместо этого выводить консоль в файл nohup.out
в папке, где вы запускаете команда. Некоторые команды, однако, не запускаются под nohup
, поэтому вам может не повезти, выполнив команду через nohup
, хотя я смог выполнить команды, которые не работают, вызвав скрипт *.sh
через nohup. Надеюсь это поможет.