diff --git a/signal/signal.go b/signal/signal.go index f1a5b9787..c6c903950 100644 --- a/signal/signal.go +++ b/signal/signal.go @@ -8,6 +8,7 @@ package signal import ( "os" "os/signal" + "syscall" ) var ( @@ -26,7 +27,15 @@ var ( ) func init() { - signal.Notify(interruptChannel, os.Interrupt) + signalsToCatch := []os.Signal{ + os.Interrupt, + os.Kill, + syscall.SIGABRT, + syscall.SIGTERM, + syscall.SIGSTOP, + syscall.SIGQUIT, + } + signal.Notify(interruptChannel, signalsToCatch...) go mainInterruptHandler() } @@ -60,8 +69,8 @@ func mainInterruptHandler() { for { select { - case <-interruptChannel: - log.Infof("Received SIGINT (Ctrl+C).") + case signal := <-interruptChannel: + log.Infof("Received %v", signal) shutdown() case <-shutdownRequestChannel: