Control+Z viene utilizzato per sospendere un processo inviandogli il segnale SIGSTOP
, che non può essere intercettato dal programma. Mentre Control+C è usato per uccidere un processo con il segnale SIGINT
, e può essere intercettato da un programma in modo che possa ripulirsi prima di uscire, o non uscire affatto.
Se si sospende un processo, questo apparirà nella conchiglia per dirvi che è stato sospeso:
[1]+ Stopped yes
Tuttavia, se ne uccidete uno, non vedrete alcuna conferma se non quella di essere riportato ad un prompt della conchiglia. Quando si sospende un processo, si possono fare anche cose strane. Per esempio, eseguendo questo:
fg
``` ```
bg
Con un programma sospeso lo riporterà in primo piano.
E l'esecuzione del comando
kill %1
``` ```
jobs
Con un programma sospeso permetterà di eseguirlo in background (l'uscita del programma andrà comunque al TTY, però).
Se volete eliminare un programma sospeso, non dovete prima riportarlo con fg
, potete semplicemente eseguire il comando:
[1]- Stopped pianobar
[2]+ Stopped yes
``` &001
Se avete più comandi sospesi, eseguendo
&001 &001
li elencherete, in questo modo:
&001 &001
Usando `%#`, dove `#` è il numero del lavoro (quello tra parentesi quadre dell'uscita `jobs`) con `bg`, `fg`, o `kill`, può essere usato per eseguire l'azione su quel lavoro.