From 34797be7d7e39cbcabb7777bc7fa5c15d136282a Mon Sep 17 00:00:00 2001 From: Rob Napier Date: Fri, 13 Mar 2015 15:53:26 -0400 Subject: [PATCH] Run() should watch for SIGTERM on POSIX platforms --- service_darwin.go | 3 ++- service_systemd_linux.go | 3 ++- service_sysv_linux.go | 3 ++- service_upstart_linux.go | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) 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