From 9f4e79c62659eebd6b4e815cf52622765fccd988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=9E=A8=E7=85=8A?= Date: Mon, 14 Sep 2020 11:37:33 +0800 Subject: [PATCH 1/2] allow repeat kill -HUP when fork cmd is exit. --- endless.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/endless.go b/endless.go index 9604a20..f97971b 100644 --- a/endless.go +++ b/endless.go @@ -477,6 +477,16 @@ func (srv *endlessServer) fork() (err error) { log.Fatalf("Restart: Failed to launch, error: %v", err) } + // allow repeat kill -HUP when fork cmd is exit. by @flyhope + go func() { + err := cmd.Wait() + if err != nil { + log.Println(err) + } else { + runningServersForked = false + } + }() + return } From b2fb9df64f7c97874f8597b28d11af6c149c7712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=9E=A8=E7=85=8A?= Date: Mon, 14 Sep 2020 14:27:04 +0800 Subject: [PATCH 2/2] retry when cmd start error --- endless.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/endless.go b/endless.go index f97971b..37e0043 100644 --- a/endless.go +++ b/endless.go @@ -474,17 +474,18 @@ func (srv *endlessServer) fork() (err error) { err = cmd.Start() if err != nil { - log.Fatalf("Restart: Failed to launch, error: %v", err) + runningServersForked = false + return err } // allow repeat kill -HUP when fork cmd is exit. by @flyhope go func() { + log.Println("wait cmd") err := cmd.Wait() if err != nil { log.Println(err) - } else { - runningServersForked = false } + runningServersForked = false }() return