Tâche de fond

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Dans un système informatique, un processus en tâche de fond (ou en arrière-plan) est un processus non attaché explicitement à un terminal[1], ou plus précisément sans interaction avec un utilisateur[2].

En environnement Unix[modifier | modifier le code]

Sous shell Unix, démarrer un processus en tâche de fond consiste à le lancer en ligne de commande tout en gardant la main sur le Shell qui l'a lancé.

Utilisation[modifier | modifier le code]

L'objectif de la mise en tâche de fond est d'indiquer ou non à l'interface système, le shell Unix, s'il doit attendre ou pas la fin du processus dont il lancera l’exécution.

En effet, si un utilisateur lance par exemple l'éditeur de texte « gedit » à l'aide de la commande gedit, celui ci bloque l'invité de commande et par conséquent, l'utilisateur ne peut plus exécuter de commande car le système attend la fin de la tâche lancée. En lançant le processus en tâche de fond à l'aide du caractère & à la fin de la commande[3], l'interpréteur de commandes exécute le programme tout en redonnant la main, ce qui permettra d'exécuter une nouvelle ligne de commande.

La commande jobs permet d'afficher les processus qui s'exécutent en tâche de fond[3].

Certains shells permettent aussi de stopper une commande en premier plan à l'aide de "Control-Z" puis de la basculer en tâche de fond à l'aide de la commande "bg" (et son symétrique "fg" qui la bascule au premier plan). Cependant ce contrôle ne passe que le processus courant en tâche de fonds et des boucles de type "while/do/done" ou "for/do/done" se trouvent interrompues.

À noter aussi, la commande "nohup" qui permet de lancer une tâche en la détachant du terminal ("nohup command &") ce qui permet de fermer le terminal sans que la tâche ne soit tuée.

En environnement Windows[modifier | modifier le code]

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]