next up previous contents index return to home!
Next: Permessi e proprietà di Up: Strutture dati coinvolte Previous: Strutture dati coinvolte   Indice   Indice analitico

Funzione dup()

Le funzioni dup() e dup2() servono a duplicare descrittori di file:



#include<unistd.h>

int dup(int oldfd);
int dup2(int oldfd, int newfd);


La dup() prende il primo descrittore libero, ci copia dentro il descrittore oldfd e lo ritorna. La funzione dup2() copia il descrittore oldfd sul descrittore newfd: se newfd era un descrittore aperto, lo chiude prima. Entrambe le funzioni ritornano il valore del descrittore in cui oldfd è stato copiato: nel caso della dup, viene ritornato il valore del nuovo descrittore; nel caso della dup2() viene ritornato il valore di newfd.

Le funzioni dup() vengono utilizzate principalmente per redirigere lo stdout e lo stdin di un processo su un file. Vedremo nel prossimo capitolo come la shell implementa le operazioni di re-direzione dell'input e dell'output di un processo tramite queste due funzioni.



Giuseppe Lipari 2002-10-27