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. ]