[Prog système] Un programme s'exécute 3 secondes après un autre
Bonjour,
je veux exécuter 2 programmes via mon programme. Le premier va s'exécuter lors d'un clic CTRL-C et le deuxième après 3 secondes du clic à l'aide de la fonction alarm().
Le problème est qu'après 3 secondes, le premier programme reste en exécution et le deuxième ne se déclenche pas.
Voilà mon programme :
Code:
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
| char *fe,*fifo,*fs;
void prog1(int sig) {
if(sig == SIGINT) {
alarm(3);
printf("Exécution du prog1\n");
execlp("./prog1","./prog1",fe,fifo,NULL);
}
}
void prog2(int sig) {
if(sig == SIGALRM) {
printf("Exécution du prog2\n");
execlp("./prog2","./prog2",fifo,fs,NULL);
exit(0);
}
}
main(int argc, char * argv[])
{
if(argc!=4){printf("No args");exit(1);}
fe=argv[1];
fifo=argv[2];
fs=argv[3];
signal(SIGINT,prog1);
signal(SIGALRM,prog2);
while(1) {}
} |
Merci pr vos renseignements.