It’s a mechanism, which allows the operating system to inform processes about defined events.
Events (selection)
| Signal | Number * | Description |
|---|---|---|
| SIGTERM | 15 | Termination request |
| SIGKILL | 9 | Kill request |
| SIGINT | 2 | Interrupt request |
| SIGSEGV | 11 | Invalid memory access |
| SIGABRT | 6 | Abnormal termination condition |
| SIGFPE | 8 | Erroneous arithmetic operation |
* on x86 and ARM
There is a default signal handling, which is usually a process termination, but you can also write your own signal handler.