Controlar los procesos de línea de comandos en Linux

Detallaremos a continuación la forma de manejar los procesos de línea de comandos (jobs) de Linux. Un proceso normalmente, se ejecuta en primer plano. Durante el tiempo que se esté ejecutando bloquea el uso de esa consola.

Detener un proceso en ejecución

Mientras un proceso esté ejecutándose, podremos detenerlo estando en la consola y presionando:

Ctrl + Z

Por lo general, esto es necesario cuando tarda más de lo necesario y necesitamos seguir usando la consola.

Ejecutar un proceso directamente en segundo plano

Para que el proceso sea ejecutado en segundo plano, sin atarlo a la consola en uso, debemos agregarle ‘&’ al final de su invocación:

$ proceso &

Ver los procesos detenidos y en ejecución (en segundo plano)

Mediante el comando jobs podremos ver el listado de jobs y para cada uno de ellos:

  • número de job (entre corchetes) que lo identifica
  • indicador de job
    • + actual
    • – previo
  • estado
    • Detenido
    • Ejecutando
  • proceso

Solo puede haber un job actual (y uno previo). El job actual tambien se puede referenciar por el indicador % o directamente sin especificar ningún número de job.

El número de job y los indicadores de job se pueden preceder por un %, enfatizando la naturaleza de que se trata de un job. Por lo tanto, es lo mismo ‘%1’ que ‘1’ y ‘%+’ que ‘+’.

Continuar con un proceso en segundo plano (background)

Teniendo un proceso detenido podemos continuar su ejecución en segundo plano, manteniendo el control de la consola, ingresando el comando bg. Como no se especifica un argumento, se utiliza el job actual por lo que es lo mismo bg + o bg %

Si conocemos el número de job podemos indicarlo como argumento para actuar sobre el mismo: bg job-num o bg %job-num

Utilizar directamente el número de job con & detrás lo envía a segundo plano, pero para que funcione obligatoriamente debemos precederlo con %. Por lo tanto %1 & es lo mismo que bg %1

Continuar con un proceso en primer plano (foreground)

Teniendo un proceso detenido o ejecutándose en segundo plano podemos continuar su ejecución en primer plano ingresando el comando fg. Como no se especifica un argumento, se utiliza el job actual por lo que es lo mismo fg + o fg %

Si conocemos el número de job podemos indicarlo como argumento para actuar sobre el mismo: fg job-num o fg %job-num

Utilizar directamente el número de job también lo trae a primer plano, pero para que funcione obligatoriamente debemos precederlo con %. Por lo tanto %1 es lo mismo que fg %1

Tagged with: , ,
Publicado en Linux