Это команда reptyr, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
reptyr - перенести запущенную программу на новый терминал
СИНТАКСИС
рептирь PID
рептирь -l | -L [КОМАНДА [АРГС]]
ОПИСАНИЕ
рептирь это утилита для того, чтобы взять существующую запущенную программу и прикрепить ее к новой
Терминал. Начат длительный процесс по ssh, но вынужден уйти и не хочу
прервать его? Просто запустите экран, используйте рептирь чтобы захватить его, а затем завершить сеанс ssh
и отправляйся домой.
рептирь работает путем присоединения к целевой программе, используя ptrace(2), перенаправляя соответствующий файл
дескрипторы и изменение управляющего терминала программы (см. терминал(4)) Это последняя
деталь, которая делает рептирь работают намного лучше, чем альтернативы, такие как retty(1).
После присоединения программы программа будет либо отключена, либо приостановлена.
в оболочку, из которой он был запущен (в зависимости от оболочки). Для максимальной безопасности вы можете бегать
bg; отречься
в старой оболочке, чтобы удалить связь с программой, но рептирь будет пытаться
убедитесь, что целевая программа продолжает работать, даже если вы закроете оболочку, не выполнив
так.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-T
Используйте альтернативный режим прикрепления «TTY-stealing». В этом режиме рептирь не будет
ptrace(2) целевой процесс, но попытается обнаружить эмулятор терминала.
для этого процесса и украсть главный конец этого процесса. Этот режим больше
надежный и гибкий во многих случаях (например, он может прикрепить все
процессы на tty, а не только один процесс). Однако, как недостаток,
дети SSHD(8) не может быть прикреплен через -T если не рептирь запускается как root. Видеть
⟨Https: //blog.nelhage.com/2014/08/new-reptyr-feature-tty-stealing/⟩ для получения дополнительной информации
информация о tty-кражах.
-л, -L [КОМАНДА [АРГС]]
Вместо того, чтобы присоединяться к новому процессу, создайте новую пару pty, проксируйте главный конец
на текущий терминал, а затем выведите имя подчиненного устройства. Это может быть
передано, например, gdb набор нижний терминал опцию.
Если необязательный КОМАНДА и ARGS передаются вместе с -л, эта команда
будет казнен как ребенок рептирь с REPTYR_PTY набор переменных среды
на имя раба pty. Если -L используется вместо -л, затем fds 0-2 из
ребенок также будет перенаправлен, чтобы указать на подчиненное устройство, и ребенок будет запущен в
новый сеанс с ведомым устройством в качестве управляющего терминала.
-s
По умолчанию reptyr перемещает любые файловые дескрипторы в целевой системе, которые были подключены.
к управляющему терминалу цели, чтобы указать на новый терминал. В -s вариант
заставит reptyr безоговорочно присоединить файловые дескрипторы 0, 1 и 2 в
цель, даже если у цели нет управляющего терминала или они не подключены к
терминал.
-v
Распечатать версию рептирь и выйти.
-h
Распечатайте сообщение об использовании и выйдите.
-V
Печатать подробный вывод отладки во время работы.
ПРИМЕЧАНИЯ
рептирь зависит от ptrace(2) системный вызов для подключения к удаленной программе. На Ubuntu
Maverick и выше, эта возможность по умолчанию отключена из соображений безопасности. Вы можете
временно включите его, выполнив
# echo 0> / proc / sys / ядро / яма / ptrace_scope
как root или навсегда, отредактировав файл /etc/sysctl.d/10-ptrace.conf, которые также
содержит дополнительную информацию об этом параметре.
Используйте reptyr онлайн с помощью сервисов onworks.net