У меня есть ReadyNAS 102 с несколькими подключенными USB-накопителями и подключением к нему с компьютера под управлением Windows 8 через SSH. Были моменты, когда я хотел копировать файлы между томами на NAS. К сожалению, я также случайно отключил процесс копирования, случайно закрыв сеансы SSH.

Можно ли для меня развить процесс cp или mv по SSH? В настоящий момент, когда я закрываю сеанс SSH, будь то случайное закрытие окна терминала или закрытие экрана моего ноутбука и перевод его в спящий режим, процесс копирования останавливается.

Могу ли я сделать что-то вроде cp ~/blah /some/other/path & и продолжить ли процесс до конца в фоновом режиме, даже если сеанс SSH завершается?

1 ответ1

1

Вы ищете экран GNU

Screen - это полноэкранный оконный менеджер, который мультиплексирует физический терминал между несколькими процессами, обычно интерактивными оболочками. Каждый виртуальный терминал обеспечивает функции терминала DEC VT100 и, кроме того, несколько функций управления из стандартов ANSI X3.64 (ISO 6429) и ISO 2022 (например, строка вставки / удаления и поддержка нескольких наборов символов). Для каждого виртуального терминала имеется буфер истории прокрутки и механизм копирования и вставки, который позволяет пользователю перемещать текстовые области между окнами. Когда вызывается screen, он создает одно окно с оболочкой (или указанной командой), а затем уходит с вашего пути, чтобы вы могли использовать программу, как обычно. Затем в любое время вы можете создавать новые (полноэкранные) окна с другими программами в них (включая другие оболочки), убивать текущее окно, просматривать список активных окон, включать и выключать выходной журнал, копировать текст между окна, просматривать историю прокрутки, переключаться между окнами и т. д. Все окна запускают свои программы полностью независимо друг от друга. Программы продолжают работать, когда их окно в настоящее время не видно и даже когда весь сеанс экрана отсоединен от пользовательского терминала.

В двух словах, это позволяет вам создавать "виртуальные терминалы", которые остаются активными, пока вы не убьете их сами. Любой процесс, запущенный в сеансе экрана, остается активным. Если ваш ssh-сеанс завершается, вы просто начинаете новый сеанс и снова присоединяете экран.

Эта статья предоставляет хороший учебник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .