Passer une commande en arrière plan

27/06/2009

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 :)

Ça peut vous intéresser aussi


La commande deux-points en Bash

Que ce soit en bash, en sh, en ce que ...


Sauvegarde automatisé en Bash

On m’a demandé hier soir sur un canal IRC ...


Pool de thread en bash

Créer un pool de thread est une opération toujours un ...


Traiter des listes correctement en Bash

Bien souvent j’utilise des fonctions de boucle en Bash ...

Merci de m'aider à financer mes services

Si vous avez apprécié cet article, je vous serai reconnaissant de m'aider à me payer une petite bière :)

Si vous voulez en savoir plus sur l'utilisation de flattr sur mon blog, lisez cette page: Ayez pitié de moi

Commentaires

Ajouter un commentaire

mojo - 30/06/2009

Tu as oublier de parler du % pour la commande a passer en premier plan par exemple :)

Un petit “job” pour avoir la liste numéroté des commande en cours d’éxécution puis un fg %2 pour faire passer la commande 2 en premier plan. Cela permet de jongler facilement avec plusieurs commandes en boucle par exemple :)

Ajouter un commentaire

(*) Votre e-mail ne sera ni revendu, ni rendu public, ni utilisé pour vous proposer des mails commerciaux. Il n'est utilisé que pour vous contacter en cas de souci avec le contenu du commentaire, ou pour vous prévenir d'un nouveau commentaire si vous avez coché la case prévue à cet effet.