GNU/Linux >> Tutoriales Linux >  >> Linux

Comando de pantalla de Linux:mantenga los procesos en ejecución a pesar de una conexión interrumpida

Supongo que todos saben 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 haciendo alguna otra tarea que lleva mucho tiempo, y de repente su conexión se cae por alguna razón, y pierdes tu trabajo inacabado. Esto puede ser muy molesto, pero afortunadamente, hay una pequeña utilidad llamada pantalla que te permite volver a conectarte a una sesión anterior para que puedas terminar tu tarea. Este breve tutorial muestra cómo usar la pantalla solo para este propósito.

1 Instalando el comando de pantalla

La instalación de la pantalla es muy fácil. En Debian, ejecute:

apt-get install screen

Para Ubuntu, use el comando con sudo:

sudo apt-get install screen

Y para Fedora, CentOS, SuSE y Mandriva también hay paquetes de pantalla que puede instalar con yum/yast/urpmi/...

Fedora y CentOS

yum install screen

2 Usando el comando de pantalla

Con screen puedes crear una o más sesiones en tu terminal SSH actual. Solo corre

screen

para empezarlo Esto crea una sesión de pantalla o ventana (aunque no la veas como tal) en tu terminal SSH actual:

Presiona Espacio o Retorno para ir al símbolo del sistema:

Parece tu terminal SSH normal, ¿no?

Ahora voy a describir los comandos de pantalla más importantes que necesita para controlar la pantalla. Estos comandos comienzan con CTRL a para distinguirlos de los comandos de shell normales.

  • Ctrl a c:crea una nueva sesión de pantalla para que pueda usar más de una sesión de pantalla a la vez.
  • Ctrl a n - Cambia a la n sesión de pantalla externa (si usa más de una).
  • Ctrl a p - Cambia a la p sesión de pantalla anterior (si usa más de una).
  • Ctrl a d:separa una sesión de pantalla (sin eliminar los procesos en ella; continúan).

Para cerrar una sesión de pantalla donde todas las tareas hayan terminado, puede escribir

exit

Ahora juguemos un poco con eso. En nuestra ventana de pantalla, ejecutamos el comando

top

Esto debería verse así:

Ahora vamos a crear otra sesión de pantalla escribiendo

Ctrl a c

Se abre una nueva sesión de pantalla en blanco y allí ejecutamos

tail -f /var/log/mail.log

para echar un vistazo continuo a nuestro registro de correo:

Ahora puede navegar por sus dos sesiones de pantalla ejecutando

Ctrl a n

o

Ctrl a p

Para desconectar una sesión de pantalla y volver a su terminal SSH normal, escriba

Ctrl a d

De vuelta en su terminal SSH normal, puede ejecutar

screen -ls

para obtener una lista de sus sesiones de pantalla actuales:

There are screens on:
        2477.pts-0.server1      (Detached)
        2522.pts-0.server1      (Detached)
2 Sockets in /var/run/screen/S-root.

Para volver a conectarse a una de estas sesiones, ejecute

screen -r 2477.pts-0.server1

donde 2477.pts-0.server1 es el nombre de una de las sesiones de la salida screen -ls.

Para salir y finalizar una sesión de pantalla, finalice todas las tareas actuales en ella (la parte superior se puede finalizar escribiendo q, la cola -f /var/log/mail.log se puede finalizar escribiendo CTRL c) y luego escriba

exit

Luego volverá a otra sesión de pantalla (si usa más de una) o al terminal SSH normal, si no hay más sesiones de pantalla abiertas.

Si desea obtener más información sobre la pantalla, ejecute

man screen

3 Mi conexión se cayó - ¿Qué puedo hacer?

Ahora supongamos que compila un kernel en una sesión de pantalla, algo que normalmente lleva mucho tiempo, y de repente se cae la conexión. Gracias a screen tu trabajo no se pierde. Una vez que su conexión esté respaldada, inicie sesión en su sistema con SSH nuevamente y ejecute

screen -ls

como se muestra en el capítulo 2. De los resultados, elija una sesión (por ejemplo, 2477.pts-0.server1) y vuelva a adjuntarla:

screen -r 2477.pts-0.server1

Si eligió la sesión correcta, debería encontrar que su kernel aún se está compilando (si no ha terminado mientras tanto) para que pueda continuar con su trabajo.

4 Enlaces

  • pantalla:http://www.gnu.org/software/screen

Linux
  1. 5 formas de mantener las sesiones y los procesos SSH remotos en ejecución después de la desconexión

  2. Ssh:¿mantener los procesos en ejecución después de que la sesión de Ssh se desconecte?

  3. Cómo matar procesos en ejecución en Linux

  4. Cómo usar el comando de pantalla de Linux

  5. Cómo usar el comando "pantalla" en Linux

Comando Pgrep en Linux

Comando Linux PS con ejemplos

Ejecute procesos en segundo plano en Linux usando el comando Pantalla

Comando de pantalla en Linux explicado

Comando ps de Linux:20 ejemplos de la vida real

Comando Linux fuser con ejemplos