Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<sys/types.h>
- #include<sys/signal.h>
- void traitement (int sig)
- {
- int i =0;
- if(sig = SIGUSR1) { printf("Signal SIGUSR1 recu\n"); i++; }
- else if(sig = SIGUSR2){ printf("Signal SIGUSR2 recu \n");i--;}
- else{
- printf("signal SIGINT reçu !\n");
- }
- }
- int main(int arg , char*argv[])
- {
- struct sigaction action;
- sigset_t masque;
- int val[] = {1,2,3,4,5,6,7,8};
- int i =0;
- sigemptyset(&masque);
- action.sa_handler = traitement;
- action.sa_mask = masque;
- action.sa_flags = 0;
- sigaction(SIGUSR1,&action,NULL);
- sigaction(SIGUSR2,&action,NULL);
- printf("Mon pid est %d\n",getpid());
- while(1) { printf("%u", val[i]); kill(argv[1],10); kill(argv[2],12);
- }
- sigfillset(&masque);
- sigdelset(&masque,SIGINT);
- sigdelset(&masque, SIGUSR2);
- sigsuspend(&masque);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement