systemadmin.es » Utilidades » Lanzar comandos en un screen en background

Lanzar comandos en un screen en background

Anteriormente ya hemos comentado como usar el screen para gestionar las sesiones, hoy vamos a ver como lanzar en background una sesión de screen y ejecutar un comando en ella y como mandar comandos de screen a las sesiones existentes, por ejemplo para cerrarlas.

Para abrir una sesión de screen sin conectarnos a ella deberemos usar las opciones -d -m:

-d -m   Start screen in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts.

Para dar un nombre a la sesión deberemos usar, como siempre, el parámetro -S. El comando completo sería:

screen -d -m -S nombresession comando

Si la sesión ya la tenemos activa y lo que queremos es mandar un determinado comando de screen, como por ejemplo el quit para cerrarla podemos usar el parámetro -X:

screen -S nombresession -X quit

Con comandos de screen nos referimos a opciones, no a ejecutar comandos.

Un ejemplo para usar estos comandos que tuve que usar ayer mismo es creando 60 conexiones ssh en el screen:

for i in $(seq -w 1 60); do screen -d -m -S x$i ssh sshserver; done

Y para cerrarlas todas a la vez de una sola linea:

for i in $(seq -w 1 60); do screen -x x$i -X quit; done

Relacionados

Imprimir Imprimir

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>