Это как раз тот случай, когда man 1 reptyr
явно упоминается:
reptyr
утилита, которая берет существующую работающую программу и присоединяет ее к новому терминалу. Запустил длительный процесс через ssh, но должен уйти и не хочет его прерывать? Просто запуститеscreen
, используйте,reptyr
чтобы взять его, а затем убейте сессию ssh и отправляйтесь домой.
Не пропустите эту заметку:
reptyr
зависит отptrace(2)
системного вызова для подключения к удаленной программе. В Ubuntu Maverick и выше эта возможность отключена по умолчанию из соображений безопасности. Вы можете включить его временно, выполнивecho 0 > /proc/sys/kernel/yama/ptrace_scope
от имени root или навсегда, отредактировав файл
/etc/sysctl.d/10-ptrace.conf
, который также содержит дополнительную информацию об этом параметре.
Также обратите внимание, что reptyr
только процесс присоединяется к другому терминалу. Это не означает, что процесс становится дочерним элементом новой оболочки.
Основное использование простое:
reptyr PID
где PID
PID процесса, который вы хотите подключить к новому терминалу.