Quellcode durchsuchen

detect kill signal

Unknwon vor 9 Jahren
Ursprung
Commit
6fdc881bd4
1 geänderte Dateien mit 11 neuen und 0 gelöschten Zeilen
  1. 11 0
      cmd/web.go

+ 11 - 0
cmd/web.go

@@ -12,6 +12,7 @@ import (
 	"net/http"
 	"net/http"
 	"net/http/fcgi"
 	"net/http/fcgi"
 	"os"
 	"os"
+	"os/signal"
 	"path"
 	"path"
 	"strings"
 	"strings"
 
 
@@ -530,6 +531,16 @@ func runWeb(ctx *cli.Context) {
 	// Not found handler.
 	// Not found handler.
 	m.NotFound(routers.NotFound)
 	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.
 	// Flag for port number in case first time run conflict.
 	if ctx.IsSet("port") {
 	if ctx.IsSet("port") {
 		setting.AppUrl = strings.Replace(setting.AppUrl, setting.HttpPort, ctx.String("port"), 1)
 		setting.AppUrl = strings.Replace(setting.AppUrl, setting.HttpPort, ctx.String("port"), 1)