孟令鑫 před 1 rokem
rodič
revize
69dcb4bd70

+ 5 - 2
pji/common/cfg/local-config.yaml

@@ -9,5 +9,8 @@ oss-base-prefix: pji/
 cloud-config-filename: cloud-config.yaml
 # 将oss上的配置文件下载到本地的路径
 cloud-config-local-path: /root/rosbag-handle/config/cloud-config.yaml
-restart-dir: "/root/rosbag-handle"
-restart-cmd: "start.sh"
+restart-cmd:
+  dir: "/root/rosbag-handle/"
+  name: "sh"
+  args:
+    - "start-master.sh"

+ 19 - 8
pji/common/cfg/local_cfg.go

@@ -6,15 +6,26 @@ import (
 	"os"
 )
 
+/*
+dir: "/root/rosbag-handle/"
+name: "sh"
+args:
+  - "start-master.sh"
+*/
+type restartCmd struct {
+	Dir  string   `yaml:"dir"`
+	Name string   `yaml:"name"`
+	Args []string `yaml:"args"`
+}
+
 type localConfig struct {
-	UrlGetOssConfig      string `yaml:"url-get-oss-config"`      // 获取oss配置的url
-	OssBasePrefix        string `yaml:"oss-base-prefix"`         // 云端配置文件的位置
-	EquipmentNo          string `yaml:"equipment-no"`            // 当前设备的编号
-	CloudConfigFilename  string `yaml:"cloud-config-filename"`   // 云端配置文件名称
-	CloudConfigLocalPath string `yaml:"cloud-config-local-path"` // 将 oss 的配置文件下载到本地的位置
-	SecretKey            string `yaml:"secret-key"`              // 当前设备的密钥
-	RestartDir           string `yaml:"restart-dir"`             // 重启命令执行的目录
-	RestartCmd           string `yaml:"restart-cmd"`             // 重启命令
+	UrlGetOssConfig      string     `yaml:"url-get-oss-config"`      // 获取oss配置的url
+	OssBasePrefix        string     `yaml:"oss-base-prefix"`         // 云端配置文件的位置
+	EquipmentNo          string     `yaml:"equipment-no"`            // 当前设备的编号
+	CloudConfigFilename  string     `yaml:"cloud-config-filename"`   // 云端配置文件名称
+	CloudConfigLocalPath string     `yaml:"cloud-config-local-path"` // 将 oss 的配置文件下载到本地的位置
+	SecretKey            string     `yaml:"secret-key"`              // 当前设备的密钥
+	RestartCmd           restartCmd `yaml:"restart-cmd"`             // 重启命令
 }
 
 var (

+ 3 - 3
pji/common/svc/kill_self.go

@@ -104,14 +104,14 @@ func killDone(restart bool) {
 		time.Sleep(time.Duration(1) * time.Second)
 		if KillChannel == KillTimes {
 			if restart {
-				_, err := util.ExecuteWithPath(commonConfig.LocalConfig.RestartDir, commonConfig.LocalConfig.RestartCmd)
+				_, err := util.ExecuteWithPath(commonConfig.LocalConfig.RestartCmd.Dir, commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args...)
 				if err != nil {
-					c_log.GlobalLogger.Info("启动新程序失败,【path】=", commonConfig.LocalConfig.RestartDir, "【cmd】=", commonConfig.LocalConfig.RestartCmd, ":", err)
+					c_log.GlobalLogger.Info("启动新程序失败,【path】=", commonConfig.LocalConfig.RestartCmd.Dir, "【cmd】=", commonConfig.LocalConfig.RestartCmd.Name, commonConfig.LocalConfig.RestartCmd.Args, ":", err)
 					os.Exit(-1)
 				}
 			}
 			c_log.GlobalLogger.Info("程序已被更新,正常退出")
-			os.Exit(1)
+			os.Exit(0)
 		}
 	}
 }