Quando si dà un comando dal prompt, non è possibile dare ulteriori comandi finché questo non è terminato. Dal prompt però si possono però dare due o più comandi per volta:
L'esecuzione in serie può essere applicata ripetutamente.
comando1 ; comando2 Il sistema esegue comando1, aspetta che sia terminato, poi esegue comando2
Esempio:
$ date; sleep -1; date mar dic 9 14:29:03 CET 2003 mar dic 9 14:29:04 CET 2003 $
Anche l'esecuzione in parallelo può essere applicata ripetutamente.
comando1 & comando2 Il sistema esegue comando1 e senza aspettare che sia terminato esegue comando2
Esempio:
$ date & sleep -1 & date ... mar dic 9 14:29:03 CET 2003 mar dic 9 14:29:03 CET 2003 ... $
comando &
Il sistema esegue comando in sottofondo e presenta il prompt per nuovi comandi.
Per vedere tutti i processi, dare il comando ps. Esempio:
$ ps
PID TTY TIME CMD
17686 pts/3 00:00:00 tcsh
18829 pts/3 00:00:00 ps
$ emacs &
[1] 10301Il secondo numero che viene scritto è il numero di processo dell'ultimo processo del job.
Per vedere su terminale la lista di tutti i job, dare il comando jobs
$ find /usr -mtime -7 | sort & [2] 10334 $ jobs [1] + Running emacs [2] - Running find /usr -mtime -7 | sort &
Il comando find /usr -mtime -7 cerca in /usr e nelle sue sottodirectory tutti i file modificati negli ultimi 7 giorni; l'output viene poi filtrato da sort, cioè i file sono ordinati in ordine alfabetico. L'esplorazione del disco in genere richiede un po' di tempo, perciò è utile mandare questa pipeline in background.
Notare che ad ogni comando del job 2 (find e sort) viene assegnato un distinto numero di processo:
$ ps 10284 pts/0 00:00:00 bash 10301 pts/0 00:00:00 emacs 10333 pts/0 00:00:00 find 10334 pts/0 00:00:00 sort 10335 pts/0 00:00:00 ps