1

Ejecutar y/o alternar procesos entre primer y segundo plano -con fg, bg y &

En linux podemos ejecutar procesos en primer plano (foreground) o bien en segundo plano (background).

Un programa en foreground lanzado desde un terminal monopoliza dicho terminal, por lo que en principio, no podremos ejecutar ningún otro programa a la vez (veremos mas adelante como se puede hacer).

Por el contrario un programa en background una vez iniciado, deja de monopolizar el terminal desde el que se lanzo, y este nos vuelve a mostrar el prompt.

¿Cuándo lanzaremos un programa en background?
P.e. en un terminal gráfico lanzamos gimp y queremos realizar otras operaciones desde el mismo terminal, o bien vamos a lanzar un programa que no necesita interacción con el usuario (en este ultimo caso nos da igual que sea un xterm o un terminal de texto.

¿Cuándo lanzaremos un programa en foreground?
Con un proceso que necesita interacción con el usuario, y esta interacción se realiza a través del terminal.

¿Cómo podemos lanzar otro programa desde un terminal con otro programa en ejecución en foreground?
Pulsamos CTRL-z con lo que pausamos el programa en ejecución y foreground, ojo lo pausamos con lo cual dejará de funcionar, y ya podremos lanzar otro programa p.e. ls

-Podemos hacer una prueba lanzamos gimp y comprobamos que podemos operar con el, luego pulsamos CTRL-z y vemos como dejamos de poder trabajar con gimp).

Ahora queremos volver a poner en funcionamiento a gimp y así poder volver a utilizar gimp

  • Si queremos devolverlo a foreground escribiremos fg.
  • Si queremos devolverlo a background escribiremos bg (esta sería la opción mas lógica)

En el caso de que tengamos mas de un programa detenido deberemos indicarle tanto a fg como a bg el ID de tarea sobre el que actuarán.

¿Cómo lanzar un programa directamente en background - &?
Siguiendo nuestro ejemplo con gimp seria gimp & . El & le indica a S.O. que ejecute el programa en segundo plano

Escribe tu comentario
+ 2