Andrés, miembro de nuestro equipo de trabajo, nos hizo el favor de redactar este artículo ya que conoce muy bien dicho tema.
Solución:
CTRL+a y luego ‘k’ matarán una sesión de pantalla.
Hay un par de formas de ‘pantalla’ para eliminar una sesión de pantalla específica desde la línea de comandos (no interactivamente).
1) enviar un comando ‘salir’:
screen -X -S "sessionname" quit
2) envíe un Ctrl-C a una sesión de pantalla que ejecuta un script:
screen -X -S "sessionname" stuff "^C"
En ambos casos, necesitaría usar ‘screen -ls’ para encontrar el nombre de la sesión de pantalla que desea eliminar… si solo se está ejecutando una sesión de pantalla, no necesitará especificar -S ” parámetro de nombre de sesión”.
Usé esto para salir de cientos de sesiones de pantalla erróneas creadas por un comando con errores:
for s in $(screen -ls|grep -o -P "1d+.tty"); do screen -X -S $s quit; done;
donde el grep -o -P "1d+.tty"
es el comando para obtener nombres de sesión con expresión regular de nombre similar a Perl "1d+.tty"
que captura todas las sesiones comienzan con el número 1
tiene algunos otros números (d
) y terminar con .tty
Advertencia: Primero debe probar con este comando para ver si obtiene la lista exacta de sesiones que desea antes de aplicar el comando anterior. Esto es para evitar salir de sesiones no deseadas:
for s in $(screen -ls|grep -o -P "1d+.tty"); do echo $s; done;
yo siempre a esto echo
prueba cada vez que la lista en for
bucle no está claro, por ejemplo, el generado por el subcomando en $()
expansión.
Tienes la opción de añadir valor a nuestra información tributando tu experiencia en las reseñas.