Linux screen · 3 min read · Sep 15, 2025
Comando screen de Linux: Mantener procesos en ejecución a pesar de una conexión caída

Supongo que todos ustedes conocen esto: están conectados a su servidor con SSH y en medio de la compilación de algún software (por ejemplo, un nuevo kernel) o realizando alguna otra tarea que toma mucho tiempo, y de repente su conexión se cae por alguna razón, y pierden su trabajo no terminado. Esto puede ser muy molesto, pero afortunadamente, hay una pequeña utilidad llamada screen que les permite volver a conectarse a una sesión anterior para que puedan terminar su tarea. Este breve tutorial muestra cómo usar screen para este propósito.
1 Instalación del comando screen
La instalación de screen es muy fácil. En Debian, ejecuten:
apt-get install screenPara Ubuntu, usen el comando con sudo:
sudo apt-get install screenY para Fedora, CentOS, SuSE y Mandriva también hay paquetes de screen que pueden instalar con yum / yast / urpmi /…
Fedora y CentOS
yum install screen2 Usando el comando screen
Con screen pueden crear una o más sesiones en su terminal SSH actual. Simplemente ejecuten
screenpara iniciarlo. Esto crea una sesión o ventana de screen (aunque no la ven como tal) en su terminal SSH actual:

Presionen Espacio o Retorno para llegar al símbolo del sistema:

¿Se parece a su terminal SSH normal, verdad?
Ahora voy a describir los comandos más importantes de screen que necesitan para controlar screen. Estos comandos comienzan con CTRL a para distinguirlos de los comandos normales de shell.
- Ctrl a c - Crea una nueva sesión de screen para que puedan usar más de una sesión de screen a la vez.
- Ctrl a n - Cambia a la n ueva sesión de screen (si usan más de una).
- Ctrl a p - Cambia a la p revia sesión de screen (si usan más de una).
- Ctrl a d - Desconecta una sesión de screen (sin matar los procesos en ella - continúan).
Para cerrar una sesión de screen donde todas las tareas están terminadas pueden escribir
exitAhora juguemos un poco con esto. En nuestra ventana de screen, ejecutamos el comando
topEsto debería verse así:

Ahora creemos otra sesión de screen escribiendo
Ctrl a cSe abre una nueva sesión de screen en blanco, y allí ejecutamos
tail -f /var/log/mail.logpara tener una vista continua de nuestro registro de correo:

Ahora pueden navegar por sus dos sesiones de screen ejecutando
Ctrl a no
Ctrl a pPara desconectar una sesión de screen y volver a su terminal SSH normal, escriban
Ctrl a dDe vuelta en su terminal SSH normal, pueden ejecutar
screen -lspara obtener una lista de sus sesiones de screen actuales:
There are screens on:
2477.pts-0.server1 (Detached)
2522.pts-0.server1 (Detached)
2 Sockets in /var/run/screen/S-root.Para reconectarse a una de estas sesiones, ejecuten
screen -r 2477.pts-0.server1donde 2477.pts-0.server1 es el nombre de una de las sesiones de la salida de screen -ls.
Para salir y terminar una sesión de screen, terminen todas las tareas actuales en ella (top se puede terminar escribiendo q, tail -f /var/log/mail.log se puede terminar escribiendo CTRL c) y luego escriban
exitLuego volverán a otra sesión de screen (si usan más de una) o a la terminal SSH normal, si no hay más sesiones de screen abiertas.
Si quieren aprender más sobre screen, ejecuten
man screen3 Mi conexión se cayó - ¿Qué puedo hacer?
Ahora supongamos que compilan un kernel en una sesión de screen, algo que normalmente toma mucho tiempo, y de repente su conexión se cae. Gracias a screen, su trabajo no se pierde. Una vez que su conexión esté de vuelta, inicien sesión en su sistema con SSH nuevamente y ejecuten
screen -lscomo se mostró en el capítulo 2. De los resultados, elijan una sesión (por ejemplo, 2477.pts-0.server1) y reconéctense a ella:
screen -r 2477.pts-0.server1Si eligieron la sesión correcta, deberían encontrar su kernel aún compilándose (si no ha terminado en el ínterin) para que puedan continuar su trabajo.
4 Enlaces
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.