Signal: Allow OS or process to notify a running process of an event

Register Signals

Signal Table: Signal handlers are registered in the process-control-block (PCB)’s signal table

// Define signal handler function
void handler(int code) { }

// Register signal function
// int sigaction(int signum, const struct sigaction *act, stuct sigaction *oldact (return))
struct sigaction handle;
handle.sa_handler = handler;
handle.sa_flags = 0;          // Default flags
sigemptyset(&handle.sa_mask); // Block no signals during handle
sigaction(SIGINT, &handle, NULL);