From e2c93b5a40383deb058bdea84adc0a5d00d4dd8f Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 11 Mar 2023 22:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=90=AFedge-admin=E6=97=B6=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E5=90=8C=E7=9B=AE=E5=BD=95=E4=B8=8B=E7=9A=84edge-api?= =?UTF-8?q?=E4=B9=9F=E8=83=BD=E9=87=8D=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/apps/app_cmd.go | 2 +- internal/nodes/admin_node.go | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/apps/app_cmd.go b/internal/apps/app_cmd.go index f1faea09..e4b317e1 100644 --- a/internal/apps/app_cmd.go +++ b/internal/apps/app_cmd.go @@ -209,7 +209,7 @@ func (this *AppCmd) runStop() { fmt.Println(this.product+" stopped ok, pid:", types.String(pid)) } -// 重启 +// RunRestart 重启 func (this *AppCmd) RunRestart() { this.runStop() time.Sleep(1 * time.Second) diff --git a/internal/nodes/admin_node.go b/internal/nodes/admin_node.go index 65a0fa72..016525eb 100644 --- a/internal/nodes/admin_node.go +++ b/internal/nodes/admin_node.go @@ -20,6 +20,8 @@ import ( "os" "os/exec" "os/signal" + "path/filepath" + "strings" "syscall" "time" ) @@ -364,6 +366,16 @@ func (this *AdminNode) listenSock() error { } } + // 停止当前目录下的API节点 + var apiSock = gosock.NewTmpSock("edge-api") + apiReply, err := apiSock.Send(&gosock.Command{Code: "info"}) + if err == nil { + adminExe, _ := os.Executable() + if len(adminExe) > 0 && apiReply != nil && strings.HasPrefix(maps.NewMap(apiReply.Params).GetString("path"), filepath.Dir(filepath.Dir(adminExe))) { + _, _ = apiSock.Send(&gosock.Command{Code: "stop"}) + } + } + // 退出主进程 events.Notify(events.EventQuit) os.Exit(0)