Comandos de Linux: trabajos, bg y fg

En este tutorial rápido, quiero examinar el jobs comando y algunas de las formas en que podemos manipular las tareas que se ejecutan en nuestros sistemas. En resumen, el control de tareas le permite suspender y reanudar procesos iniciados en su shell de Linux.

Índice

Obras

el jobs el comando enumerará todos los trabajos en el sistema; activo, parado u otro. Antes de explorar el comando y la salida, crearé una tarea en mi sistema.

usaré el sleep funciona porque no cambiará mi sistema significativamente.

[[email protected] ~]$ sleep 500
^Z
[1]+  Stopped                 sleep 500

En primer lugar, emití el sleep pedido, luego recibí el [1]. Entonces inmediatamente dejé de trabajar usando Control + Z. Luego ejecuto el jobs Comando para mostrar el trabajo recién creado:

[[email protected] ~]$ jobs
[1]+  Stopped                 sleep 500

Puede ver que solo tengo un trabajo detenido identificado por el número de trabajo [1].

Otras opciones que debe tener en cuenta para este comando incluyen:

  • -l - enumera los PID además de la información predeterminada
  • -n: enumera solo los procesos que han cambiado desde la última notificación
  • -p - muestra solo los PID
  • -r - muestra solo los trabajos actualmente en ejecución
  • -s - muestra solo los trabajos detenidos

Fondo

Entonces tomaré el sleep trabajando en segundo plano. Para hacer esto, uso el bg pedido. Ahora el bg El comando tiene una sintaxis bastante simple, como se ve aquí:

bg [JOB_SPEC]

Donde JOB_SPEC puede ser uno de los siguientes:

  • %n - donde esta el numero de trabajo
  • % abc: se refiere a un trabajo iniciado por un comando que comienza con
  • %?abc: se refiere a un trabajo iniciado por un comando que contiene
  • % - - especifica el trabajo anterior

OBSERVACIÓN: bg y fg ejecutar en el trabajo actual si no se proporciona JOB_SPEC.

Puedo mover este trabajo al fondo usando el número de trabajo [1].

[[email protected] ~]$ bg %1
[1]+ sleep 500 &

Ahora puede ver que solo tengo un trabajo ejecutándose en segundo plano.

[[email protected] ~]$ jobs
[1]+  Running                 sleep 500 &

Primer plan

Ahora veamos cómo mover una tarea en segundo plano al primer plano. Para hacer esto, uso el fg pedido. La sintaxis del comando es la misma para el comando de primer plano que para el comando de fondo.

fg [JOB_SPEC]

Consulte las viñetas anteriores para obtener detalles sobre JOB_SPEC.

Empecé uno nuevo sleep en el fondo:

[[email protected] ~]$ sleep 500 &
[2] 5599

Ahora voy a moverlo al primer plano usando el siguiente comando:

[[email protected] ~]$ fg %2
sleep 500

el fg El comando ahora ha vuelto a poner mi sistema en suspensión.

El fin

Si bien me doy cuenta de que los trabajos presentados aquí eran triviales, estos conceptos se pueden aplicar a mucho más que el simple sleep pedido. Si se encuentra con una situación que lo requiere, ahora tiene el conocimiento para mover el trabajo en curso o detenido del primer plano al segundo plano y viceversa.

Artículos de interés

Subir