A simple signal handler in C/C++ (Linux)

2016-08-13

Code

1 minute

Personal reference:

#include <iostream>
#include <signal.h>
#include <unistd.h>
#include <sys/file.h>
// signal handler
void signal_handler(int s)
{
std::cout << "Caught signal: " << s << std::endl;
exit(1);
}
// entry
int main(int argc, char* argv[])
{
// setup signal handler
struct sigaction sigIntHandler;
sigIntHandler.sa_handler = signal_handler;
sigemptyset(&sigIntHandler.sa_mask);
sigIntHandler.sa_flags = 0;
sigaction(SIGINT, &sigIntHandler, NULL);
std::cout << "Press Ctrl+C to exit." << std::endl;
for (;;) {
sleep(1);
}
return 0;
}