Pracuję na zdalnym serwerze Debian Jessie. Rozpocząłem sesję ekranową, uruchomiłem skrypt, a następnie przerwałem w sieci.
Teraz zalogowałem się ponownie i chcę wznowić sesję.
Oto, co widzę, gdy wyświetlam listę ekranów:
$ screen -ls
There are screens on:
30608.pts-8.myserver (11/03/2015 08:47:58 AM) (Attached)
21168.pts-0.myserver (11/03/2015 05:29:24 AM) (Attached)
7006.pts-4.myserver (10/23/2015 09:05:45 AM) (Detached)
18228.pts-4.myserver (10/21/2015 07:50:49 AM) (Detached)
17849.pts-0.myserver (10/21/2015 07:43:53 AM) (Detached)
5 Sockets in /var/run/screen/S-me.
Wydaje mi się, że jestem podłączony do dwóch ekranów jednocześnie.
Teraz chcę wznowić sesję, którą wcześniej prowadziłem, aby zobaczyć wyniki mojego skryptu:
$ screen -r 30608.pts-8.myserver
There is a screen on:
30608.pts-8.OpenPrescribing (11/03/2015 08:47:58 AM) (Attached)
There is no screen to be resumed matching 30608.pts-8.myserver.
Dlaczego nie mogę ponownie dołączyć?
Mam ten sam problem z drugim ekranem:
$ screen -r 21168.pts-0.myserver
There is a screen on:
21168.pts-0.OpenPrescribing (11/03/2015 05:29:24 AM) (Attached)
There is no screen to be resumed matching 21168.pts-0.myserver.
źródło
screen -x
,screen -rd
jest dołączenie do niego po jednej to z każdego terminala został dołączony do. W przypadku PO zgodziłbym się, że ten drugi jest prawdopodobnie preferowany, ale w ogólnym przypadku niekoniecznie. Zazwyczaj używam-xR
do dołączania lub tworzenia, jeśli nie ma nic do dołączenia.Zgodnie z instrukcją można „wznowić” tylko odłączone ekrany:
To, czego chcesz, to ta opcja:
źródło
-x
sesji nadal będą dołączone „gdzieś”. Aby w pełni przejąć sesję, należy użyć opcji -d | -D (opcje odłączania) oraz opcji -r | -R (opcje ponownego podłączania).Dołączam do ekranu z opcjami
-rD
Z instrukcji:
źródło