Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <signal.h>
- #include <unistd.h>
- #include <sys/wait.h>
- void sig1(int sig){
- printf("Sono la prima funzione, PID del padre=%d, ho ricevuto SIGUSR1\n", getpid());
- }
- void sig2(int sig){
- printf("Sono la deconda funziona , PID del figio=%d, ho ricevuto SIGUSR2\n",getpid());
- }
- int main(void){
- pid_t pid;
- int i;
- signal(SIGUSR2, sig1);
- signal(SIGUSR1, sig2);
- pid=fork();
- switch(pid){
- case -1:
- perror("Errore sei sterile\n");
- exit(EXIT_FAILURE);
- break;
- case 0:
- while(i>0){
- kill(getppid(),SIGUSR2);
- i--;
- }
- exit(EXIT_SUCCESS);
- default:
- while(i>0){
- kill(getppid(),SIGUSR1);
- i--;
- }
- exit(EXIT_SUCCESS);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement