Ejecutar comandos en background (segundo plano) linux

La manera más sencilla de enviar un comando para que sea ejecutado en segundo plano es agregando «&» al final del mismo, sin embargo tiene la desventaja que si cerramos nuestra terminal o consola y el comando no ha sido terminado de ejecutarse este sera interrumpido.

Como solución y para desligarlo del terminal en el cual estamos iniciando el comando en background podemos utilizar:

nohup comando &

Esto ejecuta comando de tal forma que puedes salir de sesión sin que se corte el programa. La salida a pantalla del programa se guardará en el archivo nohup.out del directorio donde se ejecute. Se puede revisar el estado del programa usando el comando ps

ps -fea | grep comando

También se puede usar el comando screen.

screen

Si no disponemos del comando podemos instalarlo de la siguiente manera:

yum install -y screen

Los atajos del teclado mas utilizados para moverse a través de los screens son:

  • Ctrl+a y luego 0 – 9 – para cambiar entre ventanas o screens
  • Ctrl+n – para cambiar a la siguiente ventana disponible
  • Backspace – regresa a la ventana previa
  • Ctrl+a – cambia a la ultima ventana previa
  • Ctrl+a D – para desligarse del screen sin cerrarlo
  • A – cambia el nombre de la sesion en la ventana
  • K – elimina la session en la ventana
  • c – Crea una nueva ventana
  • [ – permite usar en scroll hacia arriba y abajo en la ventana

Screen permite dejar ejecutándose un comando y desde una sesión remota ssh, retomar lo que se dejo en la pantalla de screen en la maquina remota. Nos conectamos remotamente via ssh revisamos la sesiones de screen abiertas con:

screen -ls

solo basta con ejecutar :

screen -x

y retomaremos las cosas tal y como las dejamos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blue Captcha Image
Refrescar

*