Linguaggio C - execl(), execlp(), execle(), execvl(), execvp()

NOME

execl(), execlp(), execle(), execv(), execvp() - esegue un programma

SINOPSI

#include <unistd.h> 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[]);

DESCRIZIONE

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

VALORE DI RITORNO

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.

VEDI ANCHE

execve() _exit() exit() fork() system() wait()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C