GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les travaux d'arrière-plan Linux avec les commandes fg et bg

Dans les systèmes Linux et Unix, un travail est défini comme une tâche qui a commencé à s'exécuter et qui n'est pas encore terminée. Chaque tâche est essentiellement un programme en cours d'exécution qui est un processus.

Chaque travail se voit attribuer un identifiant unique appelé numéro de travail (Job ID). Nous pouvons exécuter les travaux en arrière-plan sans aucune intervention de l'utilisateur et également être exécutés au premier plan en tant que travaux en cours.

Dans ce didacticiel, nous découvrons les commandes fg et bg pour gérer les tâches sous Linux.

commande bg

Les processus qui ont été arrêtés par un signal d'interruption peuvent être poursuivis en arrière-plan avec la commande bg.

$ nautilus
^Z
[1]+ Stopped nautilus

Ce processus a été arrêté avec ctrl+z signal d'interruption. Les processus arrêtés peuvent être vérifiés avec la commande jobs. Mais avant de vérifier, créons un autre travail et interrompons-le avec un signal d'arrêt.

$ jedit
9:22:28 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
9:22:29 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
^Z
[2]+ Stopped jedit

$ jobs
[1]- Stopped nautilus
[2]+ Stopped jedit

Vous pouvez voir que l'état des travaux est arrêté. Le signe plus (+) indique la tâche en cours. Le signe moins (-) fait référence au travail précédent. Maintenant, pour exécuter le travail arrêté en arrière-plan, nous utilisons la commande bg. Par défaut, si aucun argument n'est donné, bg exécute la tâche en cours en arrière-plan.

$ bg
[2]+ jedit &
$ jobs
[1]+ Stopped nautilus
[2]- Running jedit &

La commande bg peut prendre le numéro de travail comme argument. Le numéro de travail est indiqué entre crochets dans la sortie des travaux.

Dans l'exemple ci-dessus, le numéro de travail de nautilus est 1. Nous utilisons donc maintenant ce numéro de travail pour exécuter le travail en arrière-plan. Le % signe est requis pour indiquer le numéro de travail.

$ bg %1
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

La commande bg peut également faire référence à une tâche par son nom. Par exemple %String fait référence à une tâche dont le nom commence par la chaîne spécifiée et %?String fait référence à une tâche dont le nom contient la chaîne spécifiée.

À titre d'illustration, nous avons deux travaux arrêtés.

$ jobs
[1]+ Stopped nautilus
[2]- Stopped jedit

$ bg %nau
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Stopped jedit

$ bg %?ed
[2]+ jedit &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

commande fg

La commande fg est comme la commande bg sauf qu'au lieu d'envoyer une commande en arrière-plan, elle les exécute au premier plan et occupe le terminal actuel et attend que le processus se termine.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

Sans aucun argument, fg exécutera la tâche en cours au premier plan (vi dans ce cas).

# fg
vi

Comme la commande s'exécute au premier plan, nous ne récupérons pas le terminal tant que la commande n'est pas terminée. Ainsi, la commande jobs n'affichera désormais qu'un seul travail car vi va maintenant se terminer.

# jobs
[1]+ Stopped makewhatis

# fg %1
makewhatis

# jobs

Aucun emploi restant. Comme bg, %String et %?String fonctionne aussi pour fg.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

# fg %v
vi

# fg %?what
makewhatis

Conclusion

Dans ce didacticiel, nous avons appris à contrôler les tâches à l'aide des commandes fg et bg à l'aide de quelques exemples. J'espère que vous avez apprécié et n'hésitez pas à laisser vos suggestions dans la section des commentaires ci-dessous.


Linux
  1. Comment démarrer la commande Linux en arrière-plan et détacher le processus dans le terminal

  2. Comment utiliser les canaux et les canaux nommés sous Linux (avec exemples)

  3. Comment gérer votre historique de commandes Linux

  4. Comment gérer les services Linux avec la commande systemctl

  5. jobs Options de commande sous Linux

Comment travailler avec le processus de premier plan et d'arrière-plan sous Linux

Comment installer et utiliser la commande Ack sous Linux avec des exemples

Comment installer et utiliser la commande fd sous Linux

Comment utiliser la commande Jobs sous Linux

Comment créer et gérer de nouveaux utilisateurs sous Linux

Commande Linux crontab pour créer et gérer des tâches Cron