Passer une commande en arrière plan

Petit ticket rapidos pour ceux qui se posent la question. Vous savez certainement que l’on peut passer une commande en arrière plant en plaçant le symbole “&” en fin de commande… Mais voilà, parfois vous oubliez de le faire et vous vous arrachez les cheveux à attendre que le shell vous rende la main.

Bon, il existe des racourcis sur le shell pour justement faire passer des commandes en arrière plan ou en premier plan. Vous allez encore une fois vous rendre compte de la force du terminal. Commençons par un truc simple: on va lancer une commande “bouclée” (donc qui ne rend pas la main) par exemple “top”

Je vais vous montrer les possibilités à partir de ce status. Vous verrez, c’est quelque chose de logique, simple et efficace.

On commence:

top &

La commande est en second plan, vous pouvez la faire remonter avec la commande “fg” comme “foreground” ou premier plan dans la langue de Shakespear.

fg

Très bien. La revoilà en premier plan. Maintenant imaginons que vous ayez oublié le “&“. Il suffit de presser CTRL+Z pour mettre la commande en “pause”. Puis on utilise la commande “bg” comme “background” ou arrière plan

CTRL+Z
bg

En ayant tapé “bg” votre dernière commande quitte le mode “pause” et continue en arrière plan.

Et vous pouvez le faire pour plus d’une commande, il suffit de passer aux commande “bg” et “fg” le “pid” (identifiant de processus) en argument. C’est tout simple…

Notez que CTRL+Z met bel et bien en pause la commande, donc elle ne tourne plus réellement. C’est utile par exemple pour passer rapidement de “vim” au shell pour tester un script bash en cours d’écriture, puis de retaper “fg” pour retrouver l’éditeur en cours.

Voilà pour l’astuce, je vous souhaite bien du plaisirs :)

comments powered by Disqus