Procházet zdrojové kódy

detect kill signal

Unknwon před 9 roky
rodič
revize
6fdc881bd4
1 změnil soubory, kde provedl 11 přidání a 0 odebrání
  1. 11 0
      cmd/web.go

+ 11 - 0
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)