pengembangan-web-mp-pd.com

Bunuh sesi layar terpisah

Saya belajar dari suatu tempat layar terpisah dapat dibunuh oleh

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

dari mana [sesi # Anda ingin membunuh] dapat diperoleh

screen -ls

Tetapi ini tidak berhasil. Ada yang salah Apa cara yang benar?

798
Tim

"Bunuh" hanya akan membunuh satu jendela layar. Untuk "membunuh" sesi lengkap, gunakan quit.

Contoh

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

Untuk sesi yang mati gunakan: $ screen -wipe

1146
innaM

Anda dapat membunuh sesi terpisah yang tidak merespons dalam sesi layar dengan melakukan hal berikut.

  1. Ketik screen -list untuk mengidentifikasi sesi layar terpisah.

     ~ $ screen -list 
     Ada layar di: 
     20751.Melvin_Peter_V42 (Terpisah) 
    

    Catatan: 20751.Melvin_Peter_V42 adalah id sesi Anda.

  2. Terlampir pada sesi layar terpisah

    layar -r 20751.Melvin_Peter_V42
  3. Setelah terhubung ke sesi, tekan Ctrl + A lalu ketik :quit

479
Melvin Peter

Daftar layar:

screen -list

Output:

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.

Bunuh sesi layar:

screen -S 23536 -X quit
133
nilloc

Lebih mudah untuk membunuh sesi, ketika beberapa nama yang bermakna diberikan:

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

Anda bisa pergi ke tempat sesi layar disimpan dan dijalankan:

 screen -ls

yang mengakibatkan

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

Dan hapus saja:

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

Direktori uscreens tidak akan lagi memiliki file 26727.pts-0.devxxx. Sekarang untuk memastikan ketikkan saja ini:

screen -ls

dan Anda harus mendapatkan:

Tidak ada Soket yang ditemukan di/tmp/uscreens/S-xxx.

43
rc2012
screen -wipe

Harus membersihkan semua sesi layar dead.

27
Vishv Jeet

tambahkan ini ke ~/.bashrc Anda:

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

Kemudian gunakan cleanscreen untuk membersihkan semua sesi layar.

21
user2115803

Bagi saya yang sederhana

exit

bekerja. Ini dari dalam sesi layar.

21
Nick Desaulniers

Untuk mematikan semua sesi layar terpisah, sertakan fungsi ini di .bash_profile Anda:

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

untuk menjalankannya, panggil killd

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

Atau, saat dalam sesi layar Anda yang harus Anda lakukan adalah mengetik keluar

Ini akan membunuh sesi Shell yang diprakarsai oleh layar, yang secara efektif mengakhiri sesi layar tempat Anda berada.

Tidak perlu repot dengan id sesi layar, dll.

5
dat789