У меня есть тяжелые, длинные процессы, запущенные на удаленных машинах Linux. Я использую свой ноутбук для SSH к этим машинам и запускаю процессы с моего дивана.
НО, когда я хочу выключить свой ноутбук, у меня проблемы, так как удаленные процессы убиты.
Я провел исследование и обнаружил, что «экран» - отличное решение для меня! (Пока я не выключаю свой ноутбук). Разве нет способа «сохранить» «экранные» сеансы, чтобы я мог закрыть его, а затем повторно присоединить к сеансу?
linux
ssh
gnu-screen
Сатьяджит Бхат
источник
источник
Ответы:
Похоже, вы запускаете сеанс экрана на своем ноутбуке. Затем перейдите из этого сеанса на удаленный хост (ы). Выключение ноутбука уничтожит процесс локального экрана, который, в свою очередь, убьет сеанс ssh.
То, что вы хотите сделать, это ssh с вашего ноутбука на удаленный хост (ы). Затем запустите сеанс экрана на удаленном хосте. Когда ваш ноутбук выключен, сеанс ssh прекратится, но сеанс удаленного экрана сохранится.
При следующем входе в удаленную систему вы можете повторно присоединиться к сеансу экрана с помощью «screen -r» или, если у вас есть несколько сеансов экрана, «screen -r <pid>».
Примечание: если вы забыли отключиться от сеанса удаленного экрана до того, как ssh будет уничтожен, сеанс экрана может подумать, что он все еще подключен. В этом случае вам нужно будет выполнить «screen -dr <pid>», чтобы сначала отключить сеанс.
источник
Ctrl+A
а затем,D
когда вы вscreen
, отсоединит сеанс экрана.Вы можете использовать,
nohup
чтобы запустить процесс, который продолжит работать после выхода из системы. Это может быть то, что вы ищете.источник
disown
создать то, что я считаю эквивалентным эффектом.disown
это башизм, который может или не может быть доступен на других оболочках.nohup
. Проблема в^Z
том, что он приостанавливает процесс. Там нет никакого способа, чтобы фоновый процесс, но держать его без сбоев.Если вы отключите удаленный сеанс
screen
, вы можете безопасно выключить свой ноутбук.источник
Смысл экрана - запустить его на сервере и отключить с помощью CTRL+ A+ D.
источник
Используйте nohup. Еще один вариант использования VNC. Создайте сеанс VNC на сервере. Затем подключайтесь к нему всякий раз, когда вы работаете. (Более полезно, когда длинный процесс использует некоторый GUI - например, IDE)
источник
Если на этих серверах есть удаленный KVM ILO / DRAC / Other и т. Д., Вы можете подключиться к консоли и там взаимодействовать. Поскольку инициируемые сеансы в основном локальные, отключение соединения с вашего ноутбука ничего не изменит.
источник