#include #include // for signal() #include // for alarm(), pause() #include // for exit() #include // for time(), ctime() using namespace std; void catch_alarm(int); void catch_intr(int); int main() { signal(SIGALRM, catch_alarm); signal(SIGINT, catch_intr); alarm(1); for (;;) pause(); } void catch_alarm(int /* signum */) { alarm(1); time_t now = time(nullptr); cout << ctime(&now); } void catch_intr(int /* signum */) { static int count=0; cout << "Interrupt #" << ++count << "\n"; if (count >= 10) exit(1); }