Estoy tratando de matar una sesión de pantalla. Noté muchas otras preguntas relacionadas, pero ninguna de esas respuestas me funciona. Estoy tratando de matar la siguiente sesión:
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
Ahora estoy en la sesión. De acuerdo con la documentación:
http://www.gnu.org/software/screen/manual/screen.html#Quit
Se supone que debo presionar "control a" y luego "control \". Hago eso y no pasa nada.
Otra solución dice presionar Ctrl+ ay escribir: salir. Sin embargo, nuevamente no hace nada. De hecho, presionando control+ a, absolutamente nada sucede después, excepto un mensaje "No hay otra ventana"
gnu-screen
JohnMerlino
fuente
fuente
ps aux | grep "SCREEN" | awk '{print $2}' | xargs kill
screen -r porkypig
oscreen -r 23520
, en lugar de tener que incluir la cadena completa. Se supone que los nombres de pantalla hacen las cosas más fáciles, no más complicadas.Respuestas:
primero debe volver a adjuntar a la sesión de pantalla
screen -r 23520
como lo ha hecho. Luego presiona ctrl+ ay luego una mayúscula Ky presiona ycuando te pregunte si realmente quieres matar la sesiónfuente
Puede salir de esa pantalla sin adjuntarla. Primero, encuentre su sesión:
y luego dejarlo:
(-X = Ejecutar comando, -S PID de sesión para ejecutar)
[ACTUALIZAR]
Ejemplo:
fuente
Esto matará a todas las pantallas separadas:
Esto matará todas las pantallas, adjuntas o separadas
fuente
Entonces, con todas esas sugerencias oficiales, busquemos algo más fácil, igual de efectivo y más sencillo.
pkill screen
¿Quién quiere entrar en una pantalla desconocida e innecesaria solo para presionar un par de comandos que la mayoría apenas recuerda? Esto evita entrar en absoluto y lo mata de inmediato.
Además, si tiene más de uno, esto los llevará a todos de una sola vez.
fuente
Encontré este problema al actualizar la pantalla. El
screen
comando se bloqueará cuando intente volver a conectar la sesión, independientemente de cuántos-D
o-R
agregue al comando. Sin embargo,screen -ls
proporciona convenientemente el pid de la sesión, permitiéndole intervenir usando lo siguiente:(Esto es similar a la respuesta de Brian Thomas, pero la suya matará todas las sesiones de pantalla en ejecución, lo que puede no ser lo que desea si tiene varias pantallas abiertas pero solo una mal comportamiento).
fuente
Como tú, quería matar mi sesión de pantalla y encontré que la documentación no era útil. Convencido de que debe haber un atajo de teclado, descubrí que
ctrl + a
luego\
funciona
Luego recibo el mensaje: "Realmente salga y mate todas sus ventanas [y \ n]"
No estoy seguro de por qué la documentación dice
ctrl + a
entoncesctrl + \
. Eso no hace nada por mí.fuente
Puede encontrar la identificación del proceso de la pantalla de ejecución adjunta. Lo encontré igual que el ID de sesión que puede obtener por comando:
screen -ls
y puede usar el siguiente comando para matar ese proceso:
kill [sessionId]
osudo kill [sessionId]
puede matar la pantalla incluso si está conectada en alguna otra ventana de terminal.
fuente
Presione ctrl + d para cerrar la ventana de la pantalla. Repita esto hasta que mate todas las ventanas de la pantalla. Una vez que se haya agotado, la pantalla de todas las ventanas matará la sesión y finalizará. La solución más corta si no tiene muchas ventanas
fuente