GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes Linux :jobs, bg et fg

Dans ce tutoriel rapide, je veux regarder les jobs commande et quelques-unes des façons dont nous pouvons manipuler les travaux en cours d'exécution sur nos systèmes. En bref, le contrôle des tâches vous permet de suspendre et de reprendre les processus démarrés dans votre shell Linux.

Emplois

Les jobs la commande listera tous les travaux sur le système ; actif, arrêté ou autre. Avant d'explorer la commande et la sortie, je vais créer une tâche sur mon système.

J'utiliserai le sleep car cela ne changera pas mon système de manière significative.

[tcarrigan@rhel ~]$ sleep 500
^Z
[1]+  Stopped                 sleep 500

Tout d'abord, j'ai émis le sleep commande, puis j'ai reçu le numéro de travail [1]. J'ai alors immédiatement arrêté le travail en utilisant Ctl+Z . Ensuite, je lance les jobs commande pour afficher la tâche nouvellement créée :

[tcarrigan@rhel ~]$ jobs
[1]+  Stopped                 sleep 500

Vous pouvez voir que j'ai un seul travail arrêté identifié par le numéro de travail [1] .

Les autres options à connaître pour cette commande incluent :

  • -l :répertorie les PID en plus des informations par défaut
  • -n :ne répertorie que les processus qui ont changé depuis la dernière notification
  • -p :ne répertorie que les PID
  • -r - afficher uniquement les tâches en cours d'exécution
  • -s - afficher uniquement les tâches arrêtées

Contexte

Ensuite, je vais reprendre le sleep travail en arrière-plan. Pour ce faire, j'utilise le bg commande. Maintenant, le bg La commande a une syntaxe assez simple, comme on le voit ici :

bg [JOB_SPEC]

Où JOB_SPEC peut être l'un des éléments suivants :

  • %n - où n est le numéro de travail
  • %abc - fait référence à une tâche démarrée par une commande commençant par abc
  • %?abc - fait référence à une tâche démarrée par une commande contenant abc
  • %- - spécifie la tâche précédente

REMARQUE :bg et fg opérer sur le travail en cours si aucun JOB_SPEC n'est fourni.

Je peux déplacer cette tâche en arrière-plan en utilisant le numéro de tâche [1] .

[tcarrigan@rhel ~]$ bg %1
[1]+ sleep 500 &

Vous pouvez voir maintenant que j'ai un seul travail en cours d'exécution en arrière-plan.

[tcarrigan@rhel ~]$ jobs
[1]+  Running                 sleep 500 &

Premier plan

Voyons maintenant comment déplacer une tâche d'arrière-plan au premier plan. Pour ce faire, j'utilise le fg commande. La syntaxe de la commande est la même pour la commande de premier plan que pour la commande d'arrière-plan.

fg [JOB_SPEC]

Reportez-vous aux puces ci-dessus pour plus de détails sur JOB_SPEC.

J'ai commencé un nouveau sleep en arrière-plan :

[tcarrigan@rhel ~]$ sleep 500 &
[2] 5599

Maintenant, je vais le déplacer au premier plan en utilisant la commande suivante :

[tcarrigan@rhel ~]$ fg %2
sleep 500

Le fg La commande a maintenant ramené mon système en état de veille.

La fin

Bien que je réalise que les travaux présentés ici étaient triviaux, ces concepts peuvent être appliqués à plus que le sleep commande. Si vous rencontrez une situation qui l'exige, vous savez désormais comment déplacer les tâches en cours d'exécution ou arrêtées du premier plan vers l'arrière-plan et inversement.

[ Cours en ligne gratuit :Présentation technique de Red Hat Enterprise Linux. ]


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

  2. Commandes Linux - Présentation et exemples

  3. Comment enregistrer les commandes Linux et les utiliser à la demande

  4. 5 commandes Linux que je n'utilise jamais

  5. Commandes Linux de base

Commande W sous Linux

Commandes Linux de base

À la commande sous Linux

Commandes Linux - Guide complet

Comment exécuter automatiquement les scripts et commandes de démarrage Linux

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