GNU/Linux >> Tutoriels Linux >  >> Linux

Comprendre les commandes de contrôle des tâches sous Linux - bg, fg et CTRL + Z

Qu'est-ce qu'un travail sous Linux

Un travail est un processus géré par le shell. Chaque travail se voit attribuer un ID de travail séquentiel. Parce qu'un travail est un processus, chaque travail a un PID associé. Il existe trois types de statuts de tâche :
1. Premier plan :Lorsque vous entrez une commande dans une fenêtre de terminal, la commande occupe cette fenêtre de terminal jusqu'à ce qu'elle se termine. Il s'agit d'un travail de premier plan.
2. Contexte :lorsque vous saisissez une esperluette (&) à la fin d'une ligne de commande, la commande s'exécute sans occuper la fenêtre du terminal. L'invite du shell s'affiche immédiatement après que vous avez appuyé sur Retour. Ceci est un exemple de tâche en arrière-plan.
3. Arrêté :Si vous appuyez sur Ctrl + Z pour une tâche de premier plan ou entrez la commande d'arrêt pour une tâche d'arrière-plan, la tâche s'arrête. Ce travail est appelé un travail arrêté.

Remarque :À l'exception du shell Bourne, les autres shells prennent en charge le contrôle des tâches.

Commandes de contrôle des travaux

Les commandes de contrôle des travaux vous permettent de placer des travaux au premier plan ou en arrière-plan, et de démarrer ou d'arrêter des travaux. Le tableau décrit les commandes de contrôle des tâches.

Option Description
emplois Répertorie toutes les tâches
bg %n Place la tâche actuelle ou spécifiée en arrière-plan, où n est l'ID de la tâche
fg %n Amène le travail actuel ou spécifié au premier plan, où n est l'ID du travail
Contrôle-Z Arrête la tâche de premier plan et la place en arrière-plan en tant que tâche arrêtée
Remarque :Les commandes de contrôle des tâches vous permettent d'exécuter et de gérer plusieurs tâches dans un shell. Cependant, vous ne pouvez utiliser les commandes de contrôle des travaux que dans le shell où le travail a été lancé.

Exécuter une tâche en arrière-plan

Pour exécuter une tâche en arrière-plan, vous devez saisir la commande que vous souhaitez exécuter, suivie d'une esperluette (&) symbole à la fin de la ligne de commande. Par exemple, exécutez la commande sleep en arrière-plan.

$ sleep 100 & 
[1] 1302
$

Le shell renvoie l'ID de tâche, entre parenthèses, qu'il attribue à la commande et le PID associé. Avec l'ID de tâche, vous pouvez utiliser les commandes de contrôle de tâche pour gérer la tâche tandis que le noyau utilise des PID pour gérer les tâches.

Lorsqu'une tâche en arrière-plan est terminée et que vous appuyez sur Entrée, le shell affiche un message indiquant que la tâche est terminée.

[1] + Done         sleep 100 &
$

Gestion des tâches en arrière-plan

Vous pouvez utiliser les emplois pour répertorier les tâches en cours d'exécution ou suspendues en arrière-plan.

$ jobs
[1]+  Running                 sleep 100 &

Vous pouvez utiliser la commande fg pour mettre une tâche en arrière-plan au premier plan.

$ fg % 1
sleep 100
Remarque :la tâche de premier plan occupe le shell jusqu'à ce qu'elle soit terminée, suspendue ou arrêtée et placée en arrière-plan.

Vous pouvez utiliser le 'Contrôle + Z clés et bg commande pour remettre une tâche en arrière-plan. Les touches Control+Z suspendent le travail et le placent en arrière-plan en tant que travail arrêté. La commande bg exécute le travail en arrière-plan. Par exemple :
1. Utilisation de CTRL+Z

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ jobs
[1]+  Stopped                 sleep 100

2. Utilisation de bg

$ bg % 1
[1]+ sleep 100 &
$ jobs
[1]+  Running                 sleep 100 &
Remarque  :Lorsque vous placez une tâche arrêtée au premier plan ou en arrière-plan, la tâche redémarre.


Linux
  1. Regardez les commandes et les tâches avec la commande Linux watch

  2. Introduction aux commandes Linux chgrp et newgrp

  3. Commandes Linux - Présentation et exemples

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

  5. Comprendre les commandes Linux de base

Comment exécuter des commandes Linux en arrière-plan

Comprendre la différence entre les commandes sudo et su sous Linux

Recherchez, étudiez et pratiquez les commandes Linux à la volée à l'aide de Tldr++

Les 40 commandes de serveur Linux utiles pour les débutants et les professionnels

Comprendre la commande uname sous Linux

Comprendre la commande time sous Linux