Salut
D'aprés ce que j'ai compris sur le signaux, qu'on peut pas empêcher le Ctrl C c'est à dire le fait de tuer un processus.
et bon voilà un exercice qui contre dit cette hypothèse.
il s'agit d'un programme qui affiche continuellement BONJOUR.Ce programme doit intercepter le signal Ctrl C et n’accepte de le tuer que si l'utilisateur entre le mot de passe correct.
signal Ctrl C=> SIGKILL => signal n°9
voici mon essai qui surement faux, je convaincue par mon hypothèse:
alors que donne ce prgramme:Code:#include<stdio.h> #include<signal.h> #include<unistd.h> void sighandler(int signum) { char password[5]; printf("Mot de passe:") scanf("%s",mp); if(mp=="xyz")//si le mot de passe est correcte kill((int)getpid,9); } int main() { signal(SIGKILL,&sighandler);// si le signal n°9 arrive donc executer sighandler while(1) { printf("Bonjour \n") sleep(10); } return 0; }
en l'executant, il m'affiche même pas "Bonjour" 8O
quelque peut m'aider à débugger cette situation
merci à l'avance
-----