execl(), execlp(), execle(), execv(), execvp() - esegue un programma
#include int execl(const char *pathname, const char *arg, ...); int execlp(const char *pathname, const char *arg, ...); int execle(const char *pathname, const char *arg , ..., char *const envp[]); int execv(const char *pathname, char *const argv[]); int execvp(const char *pathname, char *const argv[]);
Le funzioni execl(), execlp(), execle(), execvl(), execvp() sostituiscono il processo corrente con un nuovo processo. In realta' le funzioni sono una interfaccia per la funzione execve() a cui si rimanda per ulteriori approfondimenti.pathname e' un programma eseguibile (binario) o uno script che dovra' sostituire il processo corrente.
Nel nome della della funzione chiamata sono contenuti dei caratteri che indicano sia il tipo di argomenti accettati e sia il tipo di comportamento dalla funzione stessa. l La funzione accetta una lista di argomenti.
Il primo argomento e' convenzionalmente il nome del programma che verra' eseguito.
All'ultimo argomento valido deve seguire un puntatore a NULL.v La funzione accetta un vettore di argomenti.
Il primo elemento (argv[0]) deve contenere il nome del programma da invocare.
L'ultimo argomento valido deve essere seguito da un elemento contenente un puntatore a NULL.e La funzione accetta fra i suoi parametri un array di stringhe dell'ambiente (environment) che deve essere passato al pathname da eseguire.
Ogni stringa di ambiente e' del formato parametro=valore (es: TERM=vt100).
L'array envp[] e' terminato da un elemento a NULL.
Le funzioni con il nome non comprendenti la lettera e, fanno ereditare l'ambiente del processo attuale il quale e' contenuto nella variabile esterna environ, al programma individuato da pathname.p In questo caso, se il pathname non contiene il carattere slash /, pathname viene ricercato in base alla variabile di ambiente PATH.
Se la variabile PATH non e' specificata, pathname viene per default ricercato nelle directory /bin e /usr/bin
Le funzioni execl(), execlp(), execle(), execvl(), execvp() se hanno successo non effettuano ritorno al chiamante. In caso contrario il valore -1 viene tornato e la variabile errno viene settata con il valore appropriato.
execve() _exit() exit() fork() system() wait()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |