Вимкнення ПК, не вбиваючи сеансів SSH


14

У мене є важкі, тривалі процеси, що працюють на віддалених машинах Linux. Я використовую свій ноутбук для SSH для цих машин і запускаю процеси зі свого дивана.

Але, коли я хочу вимкнути ноутбук, я переживаю проблеми, оскільки віддалені процеси вбиваються.

Я зробив своє дослідження і з’ясував, що «екран» - це чудове рішення для мене, це так! (Поки я не закриваю свій ноутбук). Чи не існує способу "зберегти" сеанси "екрану", щоб я міг його вимкнути, а потім знову приєднати до сеансу?


У вас працює екран на віддалених системах Linux?
Сем Міллер

чи можна фонові процеси?
ennuikiller

Відповіді:


32

Це здається, що ви запускаєте сеанс екрана на своєму ноутбуці. Потім натисніть на цей сеанс екрану до віддаленого хоста. Вимкнення ноутбука вбиває процес локального екрану, що, в свою чергу, вбиває сеанс ssh.

Що ви хочете зробити - це ssh з вашого ноутбука до віддалених хостів. Потім запустіть сеанс екрана на віддаленому хості. Коли комп'ютер вимкнено, сеанс ssh загине, але сеанс віддаленого екрана збережеться.

Наступного разу, коли ви ввійдете у віддалену систему, ви можете знову приєднатися до екранного сеансу за допомогою "screen -r" або якщо у вас кілька сеансів екрана "screen -r <pid>".

Примітка: якщо ви забули відключитися від сеансу віддаленого екрану, перш ніж ssh буде вбито, сеанс екрана може здатися, що він все ще додається. У цьому випадку вам потрібно зробити "screen -dr <pid>", щоб спочатку від'єднати сеанс.


4
До речі, якщо я правильно пам’ятаю, натискання, Ctrl+Aа потім, Dколи ви знаходитесь screen, відключать сеанс екрана.
David Z

@Давид це правильно, ви також можете просто закрити свій термінал або ssh сеанс, і екран залишиться відкритим. "screen -raAd" повторно вкладеться.
Кріс

Як я можу розпочати сеанс екрана на віддаленому хості?
дурість

15

Ви можете використовувати nohupдля запуску процесу, який буде продовжуватись виконуватись після виходу з машини. Це може бути те, що ви шукаєте.


Для вже запущеного процесу ви можете виконати ^ Z, а потім disownстворити те, що, на мою думку, є рівноцінним ефектом. disownце башизм, який може бути, а може і не бути доступним на інших оболонках.
інтуїтивно

+1 для nohup. Проблема в ^Zтому, що вона призупиняє процес. Немає способу фонового процесу, але тримати його без ікони.
detly

6

Якщо ви відключите віддалений сеанс screen, ви можете спокійно вимкнути ноутбук.


Не впевнений, чи загально очевидно, що екранне сеанс відхилення від екрана повинен бути на віддаленому сервері.
інтуїтивно


2

Використовуйте ногуп. Ще один вибір використання VNC. Створіть сеанс VNC на сервері. Потім підключайтеся до нього, коли ви працюєте. (Більш корисно, коли довгий процес використовує деякі графічний інтерфейс - наприклад, IDE)


0

Якщо у цих серверів є ILO / DRAC / Інший віддалений KVM тощо, можливо, ви зможете підключитися до консолі та взаємодіяти там. Оскільки розпочаті сеанси по суті є локальними, переривання з'єднання з ноутбука нічого не призведе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.