In informatica, il valore di uscita (dall'inglese "exit status" o "exit code") di un processo è il valore che esso restituisce al proprio termine al processo padre, e che tipicamente indica l'esito dell'esecuzione del processo.
Valore di uscita nei sistemi Unix
[modifica | modifica wikitesto]Nei sistemi Unix e Unix-like il valore di uscita è numerico, compreso tra 0 e 255[1], ed è convenzionalmente pari a 0 se l'esecuzione è andata a buon fine, oppure diverso da 0 se vi sono stati errori; in quest'ultimo caso il valore può anche indicare lo specifico tipo di errore che si è verificato.
Un processo specifica il proprio valore di uscita al termine, all'atto dell'invocazione della chiamata di sistema exit. In caso di terminazione a causa del ricevimento di un segnale, il valore di uscita è attribuito dal sistema (diverso comunque da 0) e permette di identificare il segnale che ha provocato la terminazione del processo (tramite il comando kill).
Il valore di uscita viene conservato nel process control block del processo terminato, che viene preservato fino a quando il processo padre non lo recupera tramite l'apposita chiamata di sistema wait. Nel periodo che intercorre tra la terminazione del processo e il recupero del valore di uscita da parte del processo padre, il processo è un processo zombie, che non occupa altre risorse del sistema se non una voce nella process table.