diff --git a/commands.go b/commands.go index dbffe9b7a9..b7492db353 100644 --- a/commands.go +++ b/commands.go @@ -223,7 +223,7 @@ func makeShutdownCh() <-chan struct{} { resultCh := make(chan struct{}) signalCh := make(chan os.Signal, 4) - signal.Notify(signalCh, os.Interrupt) + signal.Notify(signalCh, interruptSignals...) go func() { for { <-signalCh diff --git a/signal_unix.go b/signal_unix.go new file mode 100644 index 0000000000..9f22ecf10e --- /dev/null +++ b/signal_unix.go @@ -0,0 +1,10 @@ +// +build !windows + +package main + +import ( + "os" + "syscall" +) + +var interruptSignals []os.Signal = []os.Signal{os.Interrupt, syscall.SIGTERM} diff --git a/signal_windows.go b/signal_windows.go new file mode 100644 index 0000000000..885df4ee4d --- /dev/null +++ b/signal_windows.go @@ -0,0 +1,9 @@ +// +build windows + +package main + +import ( + "os" +) + +var interruptSignals []os.Signal = []os.Signal{os.Interrupt}