From: Unknwon Date: Tue, 18 Aug 2015 15:36:08 +0000 (+0800) Subject: detect kill signal X-Git-Tag: v0.9.99~1212 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6fdc881bd4ffb0a97a9a3f6ec65182575c5b0bde;p=gitea.git detect kill signal --- diff --git a/cmd/web.go b/cmd/web.go index c441e91966..84def2a481 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -12,6 +12,7 @@ import ( "net/http" "net/http/fcgi" "os" + "os/signal" "path" "strings" @@ -530,6 +531,16 @@ func runWeb(ctx *cli.Context) { // Not found handler. m.NotFound(routers.NotFound) + // Detect kill signal. + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt) + go func() { + for _ = range c { + fmt.Println("Kill signal detected, exiting now...") + os.Exit(0) + } + }() + // Flag for port number in case first time run conflict. if ctx.IsSet("port") { setting.AppUrl = strings.Replace(setting.AppUrl, setting.HttpPort, ctx.String("port"), 1)