¿Cómo mato una pantalla si sé su nombre?

14

Tengo una pantalla llamada 'foo' que comencé a usar el comando

screen -S foo -d -m  my_command_goes_here.

Quiero poner esto en cron y reiniciarlo todas las noches apagando la pantalla. La razón por la que estoy usando una pantalla es porque mi comando inicia varios otros procesos y esto garantizará que todos salgan.

Entonces ... ¿cuál es el comando para matar a Sceen 'Foo'?

¡Gracias!

Poul
fuente
1
¿Qué comandos está ejecutando que necesita la pantalla para que salgan correctamente?
Darren Hall

Respuestas:

14

screen -S foo -X quit

Desde la página del manual:

-X  Send the specified command to a running screen session.
...
quit    Kill all windows and terminate screen.
Zac Thompson
fuente
2

Intenta usar esto:

pantalla -S foo -X kill

Sería cauteloso aunque, dependiendo de lo que esté ejecutando y del estado en que se encuentre, esto puede no matar los procesos que se ejecutan en la pantalla y tal vez causar inestabilidad en el sistema de archivos si tiene algún archivo abierto (no estoy seguro) , solo estoy asumiendo)

Roy Rico
fuente
desafortunadamente esto no funcionó.
Poul
funcionó para mí, estaba en ubuntu. Pero solo tenía una ventana abierta en la pantalla. Debería haber hecho más pruebas.
Roy Rico
2
La única razón por la que no puedo ver que esto funcione es si tiene más de 1 sesión de pantalla nombrada foo, use screen -listpara obtener una lista de las sesiones actuales en ejecución.
Darren Hall