GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande Jobs sous Linux

La commande jobs sous Linux permet à l'utilisateur d'interagir directement avec les processus du shell actuel.

Les travaux ont trois états possibles sous Linux :premier plan, arrière-plan et arrêté.

Qu'est-ce que cela signifie? J'expliquerai plus dans un instant. Examinons d'abord certains des outils intégrés à la commande Jobs.

Job Control a plusieurs fonctions différentes. Chacun peut être exécuté indépendamment. Voici un tableau des commandes liées à Job Control.

Commande Description
emplois Liste les travaux dans le shell actuel
bg %n Envoyer le processus en arrière-plan
fg %n Mettre le processus au premier plan

Dans le tableau, n représente le numéro de l'ID de travail correspondant.

Comprendre le contrôle des tâches sous Linux

Qu'est-ce qu'un travail au juste ? Les emplois, les processus et les tâches sont des mots souvent utilisés de manière interchangeable.

Il y a en fait quelques petites différences qui sont importantes pour la clarté.

La différence peut se résumer à l'entité qui gère les tâches. Les utilisateurs possèdent les tâches, tandis que le noyau possède les processus.

Sous Linux, un travail peut être un processus unique ou il peut avoir plusieurs enfants ou sous-processus.

Un exemple de cela peut être un travail qui comporte plusieurs commandes redirigées comme celle-ci :

cat file1 | sort | uniq

Il analyse la sortie du fichier et trie la valeur uniq en utilisant la combinaison des commandes sort et uniq.

Dans l'informatique personnelle, le système d'exploitation gère automatiquement la plupart des processus. Ceci est généralement optimisé pour les besoins du système ou la priorité donnée à une certaine tâche. Ces processus sont exécutés par le noyau et reçoivent un ID de processus (PID).

Comment contrôler les tâches sous Linux

Lorsque vous ouvrez un nouveau shell, vous avez le pouvoir de créer vos propres travaux. En fait, c'est ce qui se passe lorsque vous entrez une commande (ou une série de commandes) dans un terminal.

Au niveau de l'utilisateur - à partir d'un shell, vous pouvez envoyer manuellement des tâches pour travailler en arrière-plan, les mettre au premier plan ou les suspendre (en utilisant Ctrl+z).

Alors, mettons en pratique ce que vous avez appris jusqu'à présent avec quelques exemples.

Exemple 1 :Envoyer des tâches en arrière-plan

Envoyer un travail pour travailler en arrière-plan est facile. Il vous suffit d'ajouter à votre commande un & (esperluette).

[email protected]:~$ nano Linux_Handbook &
[1] 2860

Vous pouvez voir que cette commande renvoie le numéro de travail entre parenthèses. Le numéro suivant est l'ID de processus utilisé par le noyau.

Exemple 2 :Afficher les tâches

Si vous avez essayé de taper la commande jobs, vous pourriez être confus car rien ne semble se passer. C'est parce qu'il n'y avait pas de tâches actives dans le shell. Maintenant qu'une tâche est en cours d'exécution, vous pouvez exécuter la commande jobs avec succès.

[email protected]:~$ jobs
[1]+  Stopped                 nano Linux_Handbook

Le numéro PID n'est pas répertorié ici, mais vous n'en avez pas besoin. Vous contrôlez les tâches à l'aide de l'ID de tâche spécifique à l'utilisateur/au shell.

Exemple 3 :Mettre les tâches au premier plan

Vous pouvez utiliser cet ID de travail pour mettre votre instance de nano au premier plan.

[email protected]:~$ fg %1

Si vous avez suivi, cela devrait vous amener dans Nano avec votre fichier nommé Linux Handbook.

Exemple 4 :Arrêter une tâche avec Ctrl+z

Vous pouvez arrêter les tâches ouvertes à l'aide de Ctrl+z. Voici une capture d'écran qui montre comment l'utiliser avec top.

Dans le screencast, vous pouvez me regarder ouvrir le haut, utiliser Ctrl+z pour le suspendre, l'afficher dans ma liste de tâches, puis le ramener au premier plan avant de le fermer.

Exemple 5 :Exécuter des tâches en arrière-plan à l'aide de bg

Bien que vous puissiez envoyer des travaux en arrière-plan avec le symbole &, il est toujours bon d'avoir une alternative. Dans le screencast, vous m'avez regardé arrêter le travail en utilisant ctrl+z. J'ai ramené le travail au shell et au premier plan avec le fg %n commande. Vous pouvez faire la même chose en utilisant bg .

Je vais utiliser une application graphique juste pour changer les choses. Vous avez peut-être remarqué par le passé que lorsque vous ouvrez une interface graphique à partir du terminal, si vous fermez le terminal, l'interface graphique se fermera également. J'espère que cet article vous a expliqué pourquoi cela se produit.

Alors, utilisons Gedit. Je vais faire ce qui suit :

  • Démarrer Gedit
  • Retournez au Shell et Ctrl+z
  • Envoyez-le en arrière-plan pour l'exécuter à l'aide de bg
  • Consultez ma liste de tâches pour vérifier qu'elle est en cours d'exécution
  • Revenir au premier plan et envoyer une interruption système à l'aide de Ctrl+c pour y mettre fin
[email protected]:~$ gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ bg %1
[1]+ gedit &
[email protected]:~$ jobs
[1]+  Stopped                 gedit
[email protected]:~$ fg %1
gedit
^C

Astuce bonus sur les travaux de terminaison sous Linux

Beaucoup d'entre nous sont habitués à utiliser ctrl+c pour terminer des travaux dans un shell. Il existe une autre façon de le faire en incorporant vos nouvelles connaissances sur le contrôle des tâches.

[email protected]:~$ fg %1
gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ kill %1

C'est vrai, la commande kill peut également être utilisée avec l'identifiant du travail pour mettre fin à un travail.

Conclusion

Apprendre la ligne de commande Linux nous rapproche du fonctionnement interne de notre système d'exploitation préféré. L'apprentissage du contrôle des tâches nous permet de gérer plusieurs tâches à la fois.

J'espère que vous avez trouvé quelque chose de nouveau à explorer avec cet article. Si vous l'avez apprécié, veuillez nous le faire savoir dans la section des commentaires ci-dessous ou utilisez les liens pour partager sur les réseaux sociaux.


Linux
  1. Comment utiliser la commande Su sous Linux

  2. Comment utiliser la commande d'écran Linux

  3. Comment utiliser la commande ldconfig sous Linux

  4. Comment utiliser la commande ipset sous Linux

  5. jobs Options de commande sous Linux

Comment utiliser la commande sysctl sous Linux

Comment utiliser la commande d'arrêt de Linux

Comment utiliser grep sous Linux

Comment utiliser la commande Mkdir sous Linux

Comment utiliser la commande jobs sous Linux

Comment utiliser la commande screen sous Linux