diff --git a/cmd/nps/nps.go b/cmd/nps/nps.go index 36c687a..896f73a 100644 --- a/cmd/nps/nps.go +++ b/cmd/nps/nps.go @@ -17,9 +17,7 @@ import ( _ "github.com/cnlh/nps/web/routers" "log" "os" - "os/signal" "path/filepath" - "syscall" ) var ( @@ -36,7 +34,7 @@ func main() { test.TestServerConfig() log.Println("test ok, no error") return - case "start", "restart", "stop", "status","reload": + case "start", "restart", "stop", "status", "reload": daemon.InitDaemon("nps", common.GetRunPath(), common.GetTmpPath()) case "install": install.InstallNps() @@ -66,13 +64,5 @@ func main() { connection.InitConnectionService() crypt.InitTls(filepath.Join(beego.AppPath, "conf", "server.pem"), filepath.Join(beego.AppPath, "conf", "server.key")) tool.InitAllowPort() - s := make(chan os.Signal, 1) - signal.Notify(s, syscall.SIGUSR1) - go func() { - for { - <-s - beego.LoadAppConfig("ini", filepath.Join(common.GetRunPath(), "conf", "nps.conf")) - } - }() server.StartNewServer(bridgePort, task, beego.AppConfig.String("bridge_type")) } diff --git a/lib/daemon/reload.go b/lib/daemon/reload.go new file mode 100644 index 0000000..d7a6cbe --- /dev/null +++ b/lib/daemon/reload.go @@ -0,0 +1,23 @@ +// +build !windows + +package daemon + +import ( + "github.com/cnlh/nps/lib/common" + "github.com/cnlh/nps/vender/github.com/astaxie/beego" + "os" + "os/signal" + "path/filepath" + "syscall" +) + +func init() { + s := make(chan os.Signal, 1) + signal.Notify(s, syscall.SIGUSR1) + go func() { + for { + <-s + beego.LoadAppConfig("ini", filepath.Join(common.GetRunPath(), "conf", "nps.conf")) + } + }() +}