У мене є scp
передача (з одного віддаленого сервера на інший), що є досить великим.
Тож, можливо, я хочу закрити комп'ютер, з якого я виконав цю команду, чи завершиться передача? У мене є ssh
доступ до оболонки за допомогою програми Bitwise.
У мене є scp
передача (з одного віддаленого сервера на інший), що є досить великим.
Тож, можливо, я хочу закрити комп'ютер, з якого я виконав цю команду, чи завершиться передача? У мене є ssh
доступ до оболонки за допомогою програми Bitwise.
Відповіді:
Є ряд рішень.
scp
передачу, як завжди.bg
.)disown
).exit
), і процес продовжить працювати на віддаленій машині.Одним з недоліків цього підходу є те, що дескриптори файлів для stdout та stderr все ще будуть містити посилання на tty сесії вашого ssh. Термін може зависнути при спробі виходу через це. Ви можете обійти це, ввівши, ~.
щоб змусити закрити ваш ssh-клієнт (ця послідовність евакуації повинна слідувати новому рядку ... див. Також ~?
). Якщо процес, який ви відмовляєтеся, пише в stdout або stderr, процес може закінчитися передчасно, якщо переповнення буфера tty.
Екран GNU можна використовувати для створення віддаленого сеансу терміналу, який можна від'єднати та продовжувати працювати на сервері після виходу з сеансу. Ви можете пізніше увійти на сервер і повторно приєднатись до сеансу.
screen -D -R <session_name>
.scp
передачу, як завжди.exit
)Щоб повторно долучити до сеансу:
screen -D -R <session_name>
Дивіться відповідь, використовуючи nohup
.
Це найкраще рішення, якщо це періодичне завдання, яке ви хочете автоматизувати.
screen -r <session>
зробило ... тож -DR
інакше, ніж тільки -r
в тому, що це може вигнати їх? Не просто повторне підключення та помилка, якщо на ній працює інший користувач.
Так, це буде припинено. Рішенням підтримувати термінальний сеанс живим без підключення є screen
програма:
SCREEN(1) SCREEN(1)
NAME
screen - screen manager with VT100/ANSI terminal emulation
SYNOPSIS
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
DESCRIPTION
Screen is a full-screen window manager that multiplexes a physical ter‐
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
Як було сказано вище, ви можете використовувати екранну команду, наприклад:
user@server:~$ screen -S bigscptransfer
ser@server:~$ scp bigfile.dat server2:.
[detached from 5899.bigscptransfer]
user@server:~$ screen -r bigscptransfer
nohup scp shinto @ source: / home / data roose@target.example.com: / var / tmp / file
зупинити тимчасово команду з
CTRL + z
поставити на фон команду, введіть:
bg
Ви можете перевірити процес за допомогою:
робочі місця
-D -R
прапорці, починаючиscreen
. Я прочитав сторінку чоловіка, і це не допомогло мені зрозуміти:-D -R Attach here and now. ...