|
@@ -83,14 +83,7 @@ func BagRecord(nodeName string) {
|
|
|
select {
|
|
|
case signal := <-ChannelKillRosRecord:
|
|
|
if signal == 1 {
|
|
|
- if err = util.KillProcessByPid(recordSubProcessPid); err != nil {
|
|
|
- c_log.GlobalLogger.Errorf("程序阻塞,杀死record命令子进程出错,【pid】=%v,【err】=%v。", recordSubProcessPid, err)
|
|
|
- select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
- }
|
|
|
- if err = cmd.Process.Kill(); err != nil {
|
|
|
- c_log.GlobalLogger.Error("程序阻塞,杀死record命令进程", recordProcessPid, "出错:", err)
|
|
|
- select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
- }
|
|
|
+ kill(recordProcessPid, recordSubProcessPid, cmd)
|
|
|
AddKillTimes("1")
|
|
|
continue // continue 是为了等待重启信号
|
|
|
}
|
|
@@ -99,14 +92,7 @@ func BagRecord(nodeName string) {
|
|
|
}
|
|
|
if signal == 3 { // 这个关闭是等待数据处理时的关闭
|
|
|
c_log.GlobalLogger.Error("采集数据,接收record命令进程关闭信号:", signal)
|
|
|
- if err = util.KillProcessByPid(recordSubProcessPid); err != nil {
|
|
|
- c_log.GlobalLogger.Errorf("程序阻塞,杀死record命令子进程出错,【pid】=%v,【err】=%v。", recordSubProcessPid, err)
|
|
|
- select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
- }
|
|
|
- if err = cmd.Process.Kill(); err != nil {
|
|
|
- c_log.GlobalLogger.Error("程序阻塞,杀死record命令进程", recordProcessPid, "出错:", err)
|
|
|
- select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
- }
|
|
|
+ kill(recordProcessPid, recordSubProcessPid, cmd)
|
|
|
continue
|
|
|
}
|
|
|
}
|
|
@@ -114,6 +100,17 @@ func BagRecord(nodeName string) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func kill(recordProcessPid int, recordSubProcessPid int, cmd *exec.Cmd) {
|
|
|
+ if err := util.KillProcessByPid(recordSubProcessPid); err != nil {
|
|
|
+ c_log.GlobalLogger.Errorf("程序阻塞,杀死record命令子进程出错,【pid】=%v,【err】=%v。", recordSubProcessPid, err)
|
|
|
+ select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
+ }
|
|
|
+ if err := cmd.Process.Kill(); err != nil {
|
|
|
+ c_log.GlobalLogger.Error("程序阻塞,杀死record命令进程", recordProcessPid, "出错:", err)
|
|
|
+ select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func isCanRecord(n *goroslib.Node) bool {
|
|
|
time.Sleep(time.Duration(1) * time.Second)
|
|
|
// 获取
|