ver todos terminar saber procesos proceso parar para los detener como comando linux gnu-screen

todos - terminar proceso en terminal linux



¿Cómo detener un proceso de pantalla en linux? (4)

CTRL + a y luego ''k'' matarán una sesión de pantalla.

Estoy ejecutando un script en un servidor remoto. Ejecuté el script en screen , sin embargo, necesito detenerlo antes de que se complete, ya que necesito actualizar el script. Puedo separar fácilmente de la screen , sin embargo, ¿hay una manera de terminar un proceso de screen ?


Hay un par de formas de "pantalla" para eliminar una sesión de pantalla específica desde la línea de comandos (de forma no interactiva).

1) enviar un comando ''salir'':

screen -X -S "sessionname" quit

2) enviar un Ctrl-C a una sesión de pantalla ejecutando un script:

screen -X -S "sessionname" stuff "^C"

En ambos casos, deberá usar ''screen -ls'' para encontrar el nombre de sesión de la sesión de pantalla que desea eliminar ... si solo se está ejecutando una sesión de pantalla, no tendrá que especificar el -S " parámetro de nombre de sesión ".



Utilicé 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 "1/d+.tty"); do screen -X -S $s quit; done;

donde: el grep -o -P "1/d+.tty" es el comando para obtener nombres de sesión con grep -o -P "1/d+.tty" Perl "1/d+.tty" que captura todas las sesiones que comienzan con el número 1 , tiene otros números ( /d ) y terminar con .tty

Advertencia : primero debe probar con este comando para ver que 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 "1/d+.tty"); do echo $s; done;

Siempre estoy en esta prueba de echo cuando la lista en el bucle for no está clara, por ejemplo, la generada por el subcomando en la expansión $() .