L’esperluette (&) permet de lancer une commande en arrière plan. La commande s'exécutera tant que l'on ne ferme pas la console. On dit que le processus est "attaché" à la console.
$ cp gros_fichier.avi gros_fichier_copie.avi &
[1] 16504
[1] : c'est le numéro du processus en arrière-plan pour cette console.
16504 : c'est le numéro d'identification du processus, le PID quoi.
Si on veut que le processus continue même si la console est fermée, il faut lancer la commande via nohup:
/!\ nohup ne bascule pas automatiquement la commande exécutée en arrière-plan. Il faut le réclamer explicitement en ajoutant un "&" à la fin de la ligne de commande./!\
$ nohup cp source/ destination/&
nohup: les entrées sont ignorées et la sortie est ajoutée à «nohup.out»
exit
/!\ Noter le "exit" qu'il faut taper pour quitter la console tout en préservant la commande en arrière-plan.
Une commande à été lancée sans penser à rajouter "&" à la fin? don't panic
[ctrl]+[z]
[1]+ Stopped cp gros_fichier.avi copie_gros_fichier.avi
Le processus est maintenant dans un état de pause, on le relancera en arrière plan comme ça
$ bg
[1]+ cp gros_fichier.avi copie_gros_fichier.avi &
$ jobs
[1]+ En cours d'exécution cp gros_fichier.avi copie_gros_fichier.avi &
Si 1 seul processus tourne en arrière-plan la commande fg se suffit à elle même
$ fg
Si par contre plusieurs processus ont été lancés en arrière-plan il faudra indiquer son id (pas son PID)
$ fg %2