&

Auteur: Ikipou

Dans Bash, le caractère "&" est un opérateur de contrôle. Lorsqu'il est utilisé à la fin d'une commande, il sert à lancer celle-ci en arrière plan.

Utilisation

Pour lancer une tâche en arrière plan, il suffit de terminer la ligne par le caractère "&".

Voici par exemple le lancement du serveur GlassFish en arrière plan:

$ asadmin start-domain lingua_dom
[1] 3363

Le retour de la commande donne le numéro de job entre crochet, et le numéro de processus (PID) ensuite. La tâche est toujours attachée à la console, elle est devenue une tâche de l'interpréteur. Utilisez jobs pour lister les tâches active, et fg pour mettre une tâche au premier plan.

La commande tel que lancé ci-dessus est toujours liée à l'interpréteur Bash. Si le shell est fermé, l'exécution de la commande s'arrêtera. Pour lancer une tâche en dehors de l'interpréteur, il faut utiliser l'opérateur de redirection ">" pour lier les flux de sorties à un fichier.

Voici le même exemple que le précédent mais là tâche est indépendante de l'interpréteur:

$ asadmin start-domain lingua_dom >/dev/null 2>&1 &

Pour plus d'information sur les redirections, regardez la page dédié à l'opérateur de redirection.

Page de manuel

Il n'y a pas de page de manuel dédié à cette fonctionnalité mais celle-ci est décrite en détail dans la page de manuel de Bash,

[...] le débat social tend aujourd'hui de plus en plus à identifier la
science à sa caricature, et [...] il est alors facile de diaboliser
l'effort humain de connaissance et de maîtrise de la nature au nom de
valeurs éthiques qui dissimulent mal leurs ascendances religieuses. Les
valeurs de la connaissance s'en trouvent discréditées, alors même que
les dogmes les plus divers bénéficient d'un respect dont nous savons
d'expérience millénaire qu'il est capable d'inspirer les plus grandes
boucheries dont l'humanité est capable.
-+- Dominique Lecourt, Sciences humaines -+-