web-gelistirme-sc.com

Ayrılmış ekran oturumunu sonlandır

Ayrılmış bir ekran tarafından öldürülebilecek bir yerden öğrendim

screen -X -S [session # you want to kill] kill

[oturum # öldürmek istediğiniz oturum] nereden alınabilir

screen -ls

Fakat bu işe yaramıyor. Herşey yanlış? Doğru yol nedir?

798
Tim

"öldür" sadece bir ekran penceresini öldürür. Tüm oturumu "öldürmek" için quit kullanın.

Örnek

$ screen -X -S [session # you want to kill] quit

Ölü oturumlar için şunu kullanın: $ screen -wipe

1146
innaM

Aşağıdakileri yaparak ekran oturumu içerisinde yanıt vermeyen ayrılmış bir oturumu öldürebilirsiniz.

  1. Ayrılmış ekran oturumunu tanımlamak için screen -list yazın.

     ~ $ ekran listesi 
     Üzerinde ekranlar var: 
     20751.Melvin_Peter_V42 (Müstakil) 
    

    Not: 20751.Melvin_Peter_V42 oturum kimliğinizdir.

  2. Ayrılmış ekran oturumuna bağlanın

    ekran -r 20751.Melvin_Peter_V42
  3. Oturuma bağlandıktan sonra tuşuna basın. Ctrl + A sonra :quit yazın

479
Melvin Peter

Liste ekranları:

screen -list

Çıktı:

There is a screen on:
23536.pts-0.wdzee       (10/04/2012 08:40:45 AM)        (Detached)
1 Socket in /var/run/screen/S-root.

Ekran oturumunu sonlandır:

screen -S 23536 -X quit
133
nilloc

Anlamlı bir ad verildiğinde bir oturumu öldürmek daha kolaydır:

//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -X quit
108
Hitman_99

Sadece ekran oturumunun bulunduğu ve çalıştığı yere gidebilirsiniz:

 screen -ls

hangi sonuçlanır

 There is a screen on:
         26727.pts-0.devxxx      (Attached)
 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is.

Ve sadece kaldırın:

  1. cd/tmp/uscreens/S-xxx
  2. ls
  3. 26727.pts-0.devxxx
  4. rm 26727.pts-0.devxxx
  5. ls

uscreens dizini artık 26727.pts-0.devxxx dosyasına sahip olmaz. Şimdi sadece şunu yazdığınızdan emin olmak için:

screen -ls

ve almalısın:

/ Tmp/uscreens/S-xxx içinde Soket bulunamadı.

43
rc2012
screen -wipe

Tüm ölü ekran oturumlarını temizlemelidir.

27
Vishv Jeet

bunu ~/.bashrc'nuza ekleyin:

alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"

Sonra tüm ekran oturumunu temizlemek için cleanscreen kullanın.

21
user2115803

Benim için basit

exit

eserleri. Bu ekran oturumundan.

21
Nick Desaulniers

tümü ayrılmış ekran oturumlarını öldürmek için, bu işlevi .bash_profile dosyasına ekleyin:

killd () {
for session in $(screen -ls | grep -o '[0-9]\{5\}')
do
screen -S "${session}" -X quit;
done
}

çalıştırmak için killd arayın

15
Rose Perrone
== ISSUE THIS COMMAND
[[email protected] ~]$ screen -ls


== SCREEN RESPONDS
There are screens on:
        23487.pts-0.devxxx      (Detached)
        26727.pts-0.devxxx      (Attached)
2 Sockets in /tmp/uscreens/S-xxx.


== NOW KILL THE ONE YOU DONT WANT
[[email protected] ~]$ screen -X -S 23487.pts-0.devxxx kill


== WANT PROOF?
[[email protected] ~]$ screen -ls
There is a screen on:
        26727.pts-0.devxxx      (Attached)
1 Socket in /tmp/uscreens/S-xxx.
7
duggi

Alternatif olarak, ekran oturumunuzda yapmanız gereken tek şey exit yazmanızdır.

Bu, başlattığınız ekran oturumunu etkin bir şekilde sonlandıran ekran tarafından başlatılan Shell oturumunu öldürür.

Ekran oturum kimliği vb. İle uğraşmanıza gerek yok.

5
dat789