Un’applicazione, in genere, si aspetta dei dati di ingresso, ovvero ciò che è chiamato input, che possono essere quelli sui quali essa eseguirà le operazioni oppure possono servire per fornirle delle indicazioni sulla modalità di esecuzione delle operazioni stesse. La stessa applicazione fornirà poi dei risultati, ovvero l’output, che potrà essere visualizzato sullo schermo, scritto all’interno di un file, inviato in stampa alla stampante, ...
Quando un programma termina la sua esecuzione, esso restituisce (al processo che lo ha lanciato in esecuzione) un valore di uscita, detto exit status, cioè un valore numerico di un byte, che generalmente indica se il programma ha svolto correttamente o meno il suo compito, secondo la convenzione di considerare terminata con successo (successful) l’esecuzione di un programma che restituisce un exit status uguale a 0 e terminata con un errore altrimenti.