#include <signal.h> void ( *signal( int signal, void (* func) (int)) ) (int);
The signal() function sets func to be called when signal is recieved by your program. func can be a custom signal handler, or one of these macros (defined in signal.h):
Macro | Explanation |
---|---|
SIG_DFL | default signal handling |
SIG_IGN | ignore the signal |
Some basic signals that you can attach a signal handler to are:
Signal | Description |
---|---|
SIGTERM | Generic stop signal that can be caught. |
SIGINT | Interrupt program, normally ctrl-c. |
SIGQUIT | Interrupt program, similar to SIGINT. |
SIGKILL | Stops the program. Cannot be caught. |
SIGHUP | Reports a disconnected terminal. |
The return value of signal() is the address of the previously defined function for this signal, or SIG_ERR is there is an error.