diff --git a/service_darwin.go b/service_darwin.go index 492dcc1..b1d96fa 100644 --- a/service_darwin.go +++ b/service_darwin.go @@ -10,6 +10,7 @@ import ( "os/exec" "os/signal" "os/user" + "syscall" "text/template" "time" @@ -172,7 +173,7 @@ func (s *darwinLaunchdService) Run() error { var sigChan = make(chan os.Signal, 3) - signal.Notify(sigChan, os.Interrupt, os.Kill) + signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt, os.Kill) <-sigChan diff --git a/service_systemd_linux.go b/service_systemd_linux.go index c647871..81b303c 100644 --- a/service_systemd_linux.go +++ b/service_systemd_linux.go @@ -10,6 +10,7 @@ import ( "os" "os/exec" "os/signal" + "syscall" "text/template" "time" @@ -130,7 +131,7 @@ func (s *systemd) Run() (err error) { sigChan := make(chan os.Signal, 3) - signal.Notify(sigChan, os.Interrupt, os.Kill) + signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt, os.Kill) <-sigChan diff --git a/service_sysv_linux.go b/service_sysv_linux.go index 5872ec3..f1cce56 100644 --- a/service_sysv_linux.go +++ b/service_sysv_linux.go @@ -10,6 +10,7 @@ import ( "os" "os/exec" "os/signal" + "syscall" "text/template" "time" @@ -131,7 +132,7 @@ func (s *sysv) Run() (err error) { sigChan := make(chan os.Signal, 3) - signal.Notify(sigChan, os.Interrupt, os.Kill) + signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt, os.Kill) <-sigChan diff --git a/service_upstart_linux.go b/service_upstart_linux.go index e6ec161..8c436d8 100644 --- a/service_upstart_linux.go +++ b/service_upstart_linux.go @@ -10,6 +10,7 @@ import ( "os" "os/exec" "os/signal" + "syscall" "text/template" "time" @@ -122,7 +123,7 @@ func (s *upstart) Run() (err error) { sigChan := make(chan os.Signal, 3) - signal.Notify(sigChan, os.Interrupt, os.Kill) + signal.Notify(sigChan, syscall.SIGTERM, os.Interrupt, os.Kill) <-sigChan