За пределами использования чего-то как screen
, действительно ли возможно 'принять' сессию активного пользователя в соответствии с Linux/UNIX?
Например, я ssh к моему серверу из дома. Затем я ssh к нему формирую работу. Я хочу уничтожить порожденную домом сессию и "поглощение" все процессы, что это имело выполнение.
warren@home> ssh warren@myserver
warren@myserver> top
...
warren@work> ssh warren@myserver
warren@myserver> <grab-other-session-of-mine>
После <grab-other-session-of-mine>
команда/инструмент, warren@home
сеанс ssh должен быть закрыт.
Действительно ли это возможно?
Насколько я знаю, что это не возможно. Что случилось с экраном или эквивалентами?
Процессы от Вашей сессии связываются со своим текущим tty, и родительский процесс, изменяя их привел бы ко многим противным проблемам, таким образом, это потребует уровня абстракции, который предоставляет Вашим рабочим процессам персистентный tty и родителя. Это - то, что делают экран и друзья; не использование их потребовало бы помещения функции в самом sshd.
Посмотрите экран Use GNU как вход в систему "оболочка" для использования экрана в качестве оболочки входа в систему, которая устраняет необходимость думать для выполнения его.
Во-первых: Да. Можно сделать это, если и только если Вы записали сеанс TCP (Не уверенный, сколько из этого необходимо, но у Вас должен быть доступ к захвату пакетов), имейте правильные инструменты и экспертные знания, имейте полный контроль над пакетами, сгенерированными на машине между клиентом и сервером, и имейте доступ к закрытому ключу сервера. Вы могли очевидно принять соединение TCP, исполнить роль инициирующего клиента и начать передавать и получать данные по существующему соединению.
Но это было бы глупым и намного более твердым, чем это стоит, поэтому в сущности не, Вы не можете сделать этого, не используя инструмент как экран.