'Kayıp' ekran oturumu nasıl kurtarılır?


80

Her nasılsa, ekran fark etmeden ekran penceresini kapatmayı başardım, bu yüzden oturum hala olarak işaretlendi attached. Bu, bu oturuma yeniden bağlanmamı engelliyor. Ne yapabilirim?

me@iupr-serv8:~$ screen -r
There are several suitable screens on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:34 PM)    (Attached)
    24658.pts-19.XXX-serv8  (01/05/2012 07:11:38 PM)    (Detached)
    24509.pts-19.XXX-serv8  (01/05/2012 07:10:00 PM)    (Detached)
    18676.pts-5.XXX-serv8   (01/02/2012 06:55:33 PM)    (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
me@XXX-serv8:~$ screen -r 25028
There is a screen on:
    25028.pts-19.XXX-serv8  (01/05/2012 07:15:33 PM)    (Attached)
There is no screen to be resumed matching 25028.

[Güncelleme]

Sonunda, oturumun kaybedilmediğini öğrendim, ancak ilk oturumun kimliği 0. Kimliği olandan ikinci oturum 1.

Yanıtlar:


108

Önce onu çıkarmayı deneyin screen -d. Bu işe yaramazsa, önem sırasını artırarak deneyebilirsiniz ,

   -d|-D [pid.tty.host]
        does  not  start screen, but detaches the elsewhere running screen session. It has the
        same effect as typing "C-a d" from screen's controlling terminal. -D is the equivalent
        to  the  power  detach key.  If no session can be detached, this option is ignored. In
        combination with the -r/-R option more powerful effects can be achieved:

   -d -r   Reattach a session and if necessary detach it first.

   -d -R   Reattach a session and if necessary detach or even create it first.

   -d -RR  Reattach a session and if necessary detach or create it. Use the first  session  if
           more than one session is available.

   -D -r   Reattach a session. If necessary detach and logout remotely first.

   -D -R   Attach  here and now. In detail this means: If a session is running, then reattach.
           If necessary detach and logout remotely first.  If it was not running create it and
           notify the user. This is the author's favorite.

   -D -RR  Attach here and now. Whatever that means, just do it.

11
-d -rseçenekleri birlikte bu oturumu eklemek zorlayacaktır.
Tim Kennedy,

Her zaman kullanıyorum, screen -xböylece birden fazla yerden aynı anda ekleyebiliyorum. Tabii ki, yanlışlıkla bir pencereyi kapatırsanız, -d -rsadece işleri düzenli tutmak daha iyi gibi görünüyor .
mpontillo

5
screen -r '1234.somescreensession'

Bir ekran var:

1234.somescreensession (Ekli)

1234.somescreensession ile eşleşen devam edecek bir ekran yok.

İşte bu ekran oturumunu geri almak için basit bir yol.

screen -D -r '1234.somescreensession'

4

Write Failed: broken pipeEkran oturumu eklerken ssh bağlantım beklenmedik bir şekilde mesajla kapandıktan sonra da aynı sorunu yaşadım . Ancak, yukarıdaki komutlardan herhangi birini kullanarak ekran oturumumu yeniden alamadım. Aşağıdaki sürümü kullandığımı unutmayın:

~> screen --version
Screen version 4.00.03 (FAU) 23-Oct-06

Görünüşe göre, hala sshdkoşmaktan ve oturumu yeniden bağlamaktan alıkoyan bir koşu örneği vardı . Belirledikten sonra PIDuygun örneğinin sshdve killbunu ing Birlikte takın başardı screen -r.


Sadece bilgi için: Kesinlikle birden fazla bulacaksınız sshdiblis, tek mevcut girişiniz karşılık gelecektir ve bayat ait başka screenoturumda (gerçekten birden fazla başka olabilir sshdçoklu diğer ait lar koşu screenler).


Ben aynı konuda iyi bir görüşme
yaptım

3

Bazı zamanlar çoklu ekranlar arka planda çalışıyor.

Onlar tarafından devam ettirilebilir:

screen -r [pid]

Ekranı almak için önce çalıştırın screen -R, ardından devam eden ekranın tüm PID'lerini göreceksiniz screen -r [pid].

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.