Saya mencoba untuk membunuh sesi layar. Saya memperhatikan banyak pertanyaan terkait lainnya, tetapi tidak ada jawaban yang bekerja untuk saya. Saya mencoba untuk membunuh sesi berikut:
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -r 23520.pts-6.porkypig
Sekarang saya di sesi. Menurut dokumentasi:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Saya seharusnya menekan "control a" dan kemudian "control \". Saya melakukan itu dan tidak ada yang terjadi.
Solusi lain dikatakan dengan menekan Ctrl+ adan mengetik: berhenti. Namun, sekali lagi itu tidak melakukan apa-apa. Bahkan, menekan control+ a, sama sekali tidak ada yang terjadi setelah itu kecuali pesan "No Other Window"
gnu-screen
JohnMerlino
sumber
sumber
ps aux | grep "SCREEN" | awk '{print $2}' | xargs kill
screen -r porkypig
atauscreen -r 23520
, daripada harus memasukkan string penuh. Nama layar seharusnya membuat segalanya lebih mudah, tidak lebih rumit.Jawaban:
pertama Anda harus melampirkan kembali ke sesi layar
screen -r 23520
seperti yang Anda lakukan Kemudian tekan ctrl+ adan kemudian modal Kdan tekan yketika itu menanyakan apakah Anda benar-benar ingin membunuh sesisumber
Anda dapat keluar dari layar itu tanpa melampirkannya. Pertama, temukan sesi:
dan kemudian berhenti:
(-X = Jalankan perintah, -S sesi PID untuk dieksekusi pada)
[MEMPERBARUI]
Contoh:
sumber
Ini akan membunuh semua layar yang terlepas:
Ini akan membunuh semua layar, terpasang atau terlepas
sumber
Jadi dengan semua saran resmi itu, mari kita lakukan sesuatu yang lebih mudah, dan sama efektifnya, dan lebih mudah.
pkill screen
Siapa yang ingin masuk ke layar yang tidak dikenal dan tidak dibutuhkan hanya untuk menekan beberapa perintah yang hampir tidak bisa diingat? Ini menghindari masuk ke dalamnya sama sekali, dan langsung membunuhnya.
Plus, jika Anda memiliki lebih dari satu, ini akan membawa mereka semua dalam satu gerakan.
sumber
Saya mengalami masalah ini saat memperbarui layar. The
screen
perintah akan menggantung ketika mencoba untuk menempelkan kembali sesi, terlepas dari berapa banyak-D
atau-R
saya ditambahkan ke perintah. Namun, denganscreen -ls
mudah memberikan pid sesi, yang memungkinkan Anda melakukan intervensi menggunakan yang berikut:(Ini mirip dengan jawaban Brian Thomas, tetapi itu akan membunuh semua sesi layar yang sedang berjalan, yang mungkin tidak seperti yang Anda inginkan jika Anda memiliki beberapa layar terbuka tetapi hanya satu yang berperilaku salah.)
sumber
Seperti Anda, saya ingin membunuh sesi layar saya dan menemukan dokumentasi tidak membantu. Yakin bahwa harus ada pintasan keyboard, saya menemukan bahwa
ctrl + a
itu\
berfungsi
Saya kemudian mendapatkan prompt: "Benar-benar berhenti dan bunuh semua windows Anda [y \ n]"
Saya tidak yakin mengapa dokumentasi mengatakan
ctrl + a
ituctrl + \
. Itu tidak melakukan apa pun untuk saya.sumber
Anda dapat menemukan id proses dari layar lari yang terpasang. Saya menemukan itu sama dengan id sesi yang dapat Anda peroleh dengan perintah:
screen -ls
Dan Anda dapat menggunakan perintah berikut untuk mematikan proses itu:
kill [sessionId]
atausudo kill [sessionId]
Anda dapat membunuh layar meskipun terpasang pada jendela terminal lain.
sumber
Tekan ctrl + d untuk mematikan jendela layar. Ulangi ini sampai Anda membunuh semua jendela layar. Setelah Anda kehabisan semua layar windows akan mematikan sesi dan mengakhiri. Solusi terpendek jika Anda tidak memiliki banyak jendela
sumber