1.11.3 Input, output ed exit status
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 alla stampante,
...
In realtà i sistemi Unix-like associano ad ogni processo un canale di input,
uno di output ed uno di error attraverso i quali il processo comunica con il
mondo esterno: il canale di input permette la ricezione delle informazioni da
parte del processo, il canale di output è quello attraverso il quale le informazioni
vengono emesse dal processo dopo la sua elaborazione e quello di ouput è il canale
per mezzo del quale il processo comunica eventuali errori. Il canale di input è
per default collegato alla alla tastiera, mentre i canali di output e di error sono
collegati allo schermo. In questo modo l’input al programma viene fornito per
mezzo della tastiera, mentre l’output e l’error del programma vengono visualizzate
sullo schermo.
|
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.