#include #include // signal #include // perror #include #include // sleep #include //signalstr using namespace std; void Handler(int sig) { cout << "In signal handler: sig = " << sig << endl; cout << "And I just got hit with a " << strsignal(sig) << endl; cout << "Or that could be " << sys_siglist[sig] << endl; cout << "Done in Signal Handler " << endl; return; } void Handler2(int sig) { cout << "In signal handler2: sig = " << sig << endl; cout <<"nappy nap time " << endl; sleep(10); cout << "Done with my nappy nap and signal handler" << endl; return; } int main(int argc, char * argv[]) { int i = 0; if (SIG_ERR == signal(SIGQUIT, Handler)) { perror("Signal:"); exit(-1); } if (SIG_ERR == signal(SIGUSR1, Handler)) { perror("Signal:"); exit(-1); } if (SIG_ERR == signal(SIGUSR2, Handler2)) { perror("Signal:"); exit(-1); } cout << "Hello I am " << getpid() << endl; while(1) { sleep(1); cout << "."; cout.flush(); if (i > 20) { i = 0; cout << endl; } i++; } return 0; }