Signals are the other inter-process communication tools that Unix operating systems offer. They are integer values that can be sent from one process to another process, giving our application the capability of communicating with more processes than just the parent. By doing so, the application is capable of interpreting the incoming signals and can also send signals to other processes.
Handling signals
Handling incoming signals
The normal behavior for a Go application is to handle some incoming signals, including SIGHUP, SIGINT, and SIGABRT, by terminating the application. We can replace this standard behavior with a custom behavior that intercepts all or some of the signals and acts accordingly.