diff --git a/caddy/sigtrap.go b/caddy/sigtrap.go index 39b7bd77d..6fd00cac5 100644 --- a/caddy/sigtrap.go +++ b/caddy/sigtrap.go @@ -32,10 +32,18 @@ func trapSignalsCrossPlatform() { if i > 0 { log.Println("[INFO] SIGINT: Force quit") + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(1) } log.Println("[INFO] SIGINT: Shutting down") + + if PidFile != "" { + os.Remove(PidFile) + } + go os.Exit(executeShutdownCallbacks("SIGINT")) } }() diff --git a/caddy/sigtrap_posix.go b/caddy/sigtrap_posix.go index 2777ebc2e..ac3000d76 100644 --- a/caddy/sigtrap_posix.go +++ b/caddy/sigtrap_posix.go @@ -20,6 +20,9 @@ func trapSignalsPosix() { switch sig { case syscall.SIGTERM: log.Println("[INFO] SIGTERM: Terminating process") + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(0) case syscall.SIGQUIT: @@ -30,6 +33,9 @@ func trapSignalsPosix() { log.Printf("[ERROR] SIGQUIT stop: %v", err) exitCode = 1 } + if PidFile != "" { + os.Remove(PidFile) + } os.Exit(exitCode) case syscall.SIGHUP: