Next: L'ordonnancement des processus Up: Les processus Previous: L'appel système fork

L'appel système exec

#include <unistd.h>
extern char **environ;

int execl( const char *path, const char *arg0, ...,NULL);
int execv(const char *path, char * const argv[]);
int execle( const char *path, const char *arg0, ...,NULL,  char * const envp[]);

int execve(const char *file, char * const argv[], char * const envp[]);
int execlp( const char *file,const char *arg0, ... , NULL );
int execvp(const char *file, char * const argv[]);
Informations conservées par le processus: PID PPID PGID ruid suid (pour l'euid cf le setuidbit de chmod ), nice, groupe d'accès, catalogue courant, catalogue ``/'', terminal de contrôle, utilisation et limites des ressources (temps machine, mémoire, etc), umask, masques des signaux, signaux en attente, table des descripteurs de fichiers, verrous, session.

Quand le processus exécute dans le nouvel exécutable la fonction:

 main(int argc, char **argv,char **envp)
argv et env sont ceux qui ont été utilisés dans l'appel de execve.

Les différents noms des fonction exec sont des mnémoniques:

l
liste d'arguments
v
arguments sont forme d'un vecteur.
p
recherche du fichier avec la variable d'environnement PATH.
e
transmission d'un environnement en dernier paramètre, en remplacement de l'environnement courant.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci