include signal h int ntimes0 main int pid

  • Slides: 2
Download presentation

#include <signal. h> int ntimes=0; main() { int pid, ppid; int p_action(), c_action(); signal(SIGUSR

#include <signal. h> int ntimes=0; main() { int pid, ppid; int p_action(), c_action(); signal(SIGUSR 1, p_action); switch(pid = fork() ) { case -1: printf("fork errorn"); exit(1); case 0: signal(SIGUSR 1, c_action); ppid = getppid(); for ( ; ; ) { sleep(1); kill(ppid, SIGUSR 1); pause(); } default: for ( ; ; ) { pause(); sleep(1); kill(pid, SIGUSR 1); } } } p_action() { printf("Parent caught signal #%dn", ++ntimes); } c_action() { printf("Child caught signal #%dn", ++ntimes); }