1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
void avantplan(char comm[80])
{
int pid,i=0;
char *file;
char *argv[10];
char *B;
char *res;
char *comup;
comup = strdup(comm);
res = strtok_r(comup," ",&B);
if (res != NULL) file =res; else res=comm;
while(res != NULL)
{
argv[i]=res;
i++;
res = strtok_r(NULL," ",&B);
}
argv[i]=NULL;
/* création de processus */
pid = fork();
switch (pid) {
case -1: /*erreur produite lors du fork*/
exit(1);
break;
case 0:
/* PROCESSUS FILS */
execvp(file,argv);
exit(0); /* fin du processus fils */
break;
default:
/* PROCESSUS PERE */
wait(0); /* attente de la fin du fils */
}
} |
Partager