Ekrana devam edemiyorum, zaten bağlı olduğumu söylüyor?


151

Uzak bir Debian Jessie sunucusu üzerinde çalışıyorum. Bir ekran oturumu başlattım, bir komut dosyasını çalıştırmaya başladım, daha sonra bir ağ zaman aşımı ile bağlantım kesildi.

Şimdi tekrar giriş yaptım ve oturuma devam etmek istiyorum.

Ekranları listelediğimde gördüğüm şey bu:

$ 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.

Aynı anda iki ekrana bağlı gibiyim.

Şimdi betiğimin sonuçlarını görmek için daha önce çalıştığım oturuma devam etmek istiyorum:

$ 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.

Neden tekrar ekleyemiyorum?

Diğer ekranda da aynı sorunu yaşıyorum:

$ 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.

Yanıtlar:


242

Oturum hala başka bir terminale takılı. Sunucu bu bağlantıda ağ kesintisini tespit etmedi: yalnızca bir paket göndermeye çalıştığında kesinti olduğunu algılar ve zaman aşımından sonra bir hata geri alır veya yanıt vermez, ancak bu henüz gerçekleşmedi. Müşterinin kesintiyi algıladığı ve bazı girdiler göndermeye çalıştığı ve başarısız olduğu için ortak bir durumdaysınız, ancak sunucu yalnızca orada oturmak için girdi bekliyor. Sonunda sunucu bir kalıcı paket gönderir ve bağlantının kesildiğini tespit eder.

Bu arada, -dekran oturumunu bulunduğu terminalden ayırmak için bu seçeneği kullanın.

screen -r -d 30608

screen -rd hemen hemen mevcut bir ekran oturumuna eklemek için standart yoldur.


15
Varolan ekran oturumuna eklemek için, bu kadar screen -x, screen -rdonu müstakil sonra ona bağlanması olan her o bağlıydı terminali. OP durumunda, ikincisinin muhtemelen tercih edildiğine katılıyorum, ancak genel durumda, mutlaka değil. -xRYapacağım bir şey yoksa, genellikle eklemek veya oluşturmak için kullanırım .
Stéphane Chazelas 7:15

10

Kılavuza göre, yalnızca ayrılmış ekranları "devam ettirebilirsiniz" :

' [match] ' ' [match] ' Ekranı başlatmayın, bunun yerine oturum tanımlama dizelerinin bir listesini yazdırın (genellikle pid.tty.host biçiminde; bkz. Oturum Adı). 'Müstakil' işaretli oturumlarla devam edilebilir . 'Ekli' işaretli olanlar çalışıyor ve kontrol terminali var. Oturum çok kullanıcılı modda çalışıyorsa, 'çoklu' olarak işaretlenir. “Ulaşılamaz” olarak işaretlenen oturumlar ya farklı bir ana bilgisayarda yaşar ya da ölür. Ulaşılamaz bir oturum, adı yerel ana bilgisayarın adı veya varsa belirtilen parametre ile eşleştiğinde ölü sayılır. Bakın-ls
-list
screen -r-reşleşmelerin nasıl yapılacağına dair açıklama için bayrak 'Ölü' olarak işaretlenmiş oturumlar iyice kontrol edilmeli ve kaldırılmalıdır. Emin değilseniz sistem yöneticinize danışın. ' -wipe' Seçeneğiyle oturumları kaldır .

İstediğiniz şey bu seçenek:

' -x'
Başka bir yere zaten eklenmiş olan bir oturuma ekle (çoklu ekran modu). Ekran kendi içinden bağlanmayı reddediyor. Ancak çoklu ekranları basamaklandırırken, döngüler algılanmaz; Kendine iyi bak.


4
İle -xbir oturum hâlâ 'bir yere' eklenecektir. Oturumu tam olarak ele geçirmek için -d | -D (-tach seçenekleri) ile birlikte -r | -R (reattach options) kullanmalısınız.
Andrew Kozlov

1
Bu bir alternatif, ancak OP'nin ihtiyacı olan şey olmayabilir. Sık sık birden fazla yerden bağlantı yapıyorum.
Thomas Dickey

4

Seçeneklerle ekrana tuttururum -rD

Kılavuzdan:

-D -r
Reattach a session. If necessary detach and logout remotely first. 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.