viernes, 9 de octubre de 2015

Screen, herramienta linux para manejar sesiones

El screen lo que hace básicamente es mantener sesiones abiertas. Para ser mas claro, si por ejemplo me logueo por SSH a un servidor y quiero hacer un apt-get update en el mismo, pero en la mitad me tengo que ir del lugar, si corto el SSH se corta el apt-get update. El screen lo que permite es lanzar en el servidor un proceso que ejecuta en este caso el comando apt-get update y que lo sigue ejecutando en el mismo aunque se corte la sesión de SSH.
Es como si nos loguearamos por VNC y dejaramos un navegador bajando algo y luego nos desconectamos del VNC, el archivo sigue descargando.
Para instalarlo debemos escribir en la terminal lo siguiente:

root@servidor:~# apt-get install screen

Y para ejecutarlo:

root@servidor:~# screen ping google.com

Una vez que abrimos una sesión con screen (en este caso realizando un ping a google) y queremos salir pulsamos crtl + a y luego la d (detached). Acá sale de screen pero deja el proceso corriendo (el ping corriendo). Eso nos da un ID [detached from 8588.pts-0.servidor]. Para retomar esa sesión de screen ejecutamos:

root@servidor:~# screen -r 8588

Tengan en cuenta que si ejecutamos screen solo estamos abriendo una sesión, podemos por ejemplo ejecutar luego un apt-get install software y al presionar ctrl + a + d lo va a dejar corriendo y va a salir de la sesión mientras el software se instala en segundo plano.
Con root@servidor:~# screen -ls nos da el listado de las sesiones de screen corriendo.
También le puedo poner nombre a la sesión:

root@servidor:~# screen -S ardillasenlared
root@servidor:~# screen -ls
There are screens on:
        9129.ardillasenlared  (10/09/2015 19:47:08 PM)        (Detached)
        8588.pts-0.scripts      (10/09/2015 19:13:30 PM)        (Detached)

Para salir ingresamos a la sesión de screen:

screen -r 8588

Y luego pulsamos:

ctrl + a + k (kill) (y luego "y" o yes)

Otra forma de matar la sesión es ésta:

screen -X -S 8588 quit

Lo probé en GNU/Linux Debian, pero supongo que funciona en cualquier distribución.

Espero que les haya servido! :)

Ah! y no se olviden de seguir el blog en Facebook y Twitter!

Saludos!

No hay comentarios:

Publicar un comentario