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.