Lancio di un processo in background
Si può eseguire in background un processo aggiungendo il carattere & alla fine della stringa di comando:
sleep 10 &
Se il comando è lanciato dalla shell riapparirà il prompt, se invece è lanciato da uno script verrà eseguito il comando successivo dello script. Se si vuole imporre allo script di attendere la terminazione dei lanci in background (processi figli) si userà il comando wait:
comando1 & comando2 & wait
Spostare in background l’esecuzione di un processo
dopo aver lanciato un comando da terminale premere CTRL-Z
sleep 10 ^Z [1] + Stopped (SIGTSTP) sleep 10
Il processo è ancora running ma fermo e il prompt è disponibile
ps -ef | grep sleep xuser 19578 27951 0 10:10:10 pts/4 0:00 sleep 10 xuser 19583 27951 0 10:10:19 pts/4 0:00 grep sleep
Faccio procedere l’esecuzione in background:
bg 19578 [1] sleep 10&
Il prompt ritorna disponibile ancora e al termine dell’esecuzione in background compare il messaggio:
[1] + Done sleep 10