int main(int* argc, char** argv)
{
char *args[60];
char *args_tmp[20];
args_tmp[0] = strdup("sleep");
args_tmp[1] = strdup("10");
args_tmp[2] = NULL;
int i;
pid_t pid[4];
pid_t son_pid_id[4];
for(i=0; i<4; i++)
{
pid[i] = fork();
if(pid[i] == -1) { std::cerr << "unable to fork\n"; return 1; }
if(pid[i] == 0)
{
execvp(args_tmp[0],args_tmp);
std::cout << "fils numéro " << i << "\n"; //cette ligne ne s'affiche jamais
}
else
{
std::cout << "père numéro " << i << "mon pid est " << getpid() << " , mon fils est " << pid[i] << "\n";
}
std::cout << "en dehors du if else le pid est de " << getpid() << "\n";
}
std::cout << "en dehors de la boucle le pid est de " << getpid() << "\n";
args_tmp[1] = strdup("20");
execvp(args_tmp[0],args_tmp);
return 0;
}
Partager