|
@@ -6,7 +6,6 @@ import (
|
|
|
"cicv-data-closedloop/pji/common/cfg"
|
|
|
"cicv-data-closedloop/pji/common/cutil"
|
|
|
"github.com/bluenviron/goroslib/v2"
|
|
|
- "strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -44,8 +43,8 @@ func BagRecord(nodeName string) {
|
|
|
continue
|
|
|
}
|
|
|
c_log.GlobalLogger.Info("启动record命令成功。")
|
|
|
- recordProcessPid := strconv.Itoa(cmd.Process.Pid)
|
|
|
- var recordSubProcessPid string
|
|
|
+ recordProcessPid := cmd.Process.Pid
|
|
|
+ var recordSubProcessPid int
|
|
|
for {
|
|
|
time.Sleep(time.Duration(2) * time.Second)
|
|
|
recordSubProcessPid, err = util.GetSubProcessPid(recordProcessPid)
|
|
@@ -53,7 +52,7 @@ func BagRecord(nodeName string) {
|
|
|
c_log.GlobalLogger.Info("正在等待获取进程 ", recordProcessPid, " 的子进程的pid。")
|
|
|
continue
|
|
|
}
|
|
|
- if recordSubProcessPid != "" {
|
|
|
+ if recordSubProcessPid != 0 {
|
|
|
c_log.GlobalLogger.Info("获取进程 ", recordProcessPid, " 的子进程的pid:", recordSubProcessPid)
|
|
|
break
|
|
|
}
|
|
@@ -63,13 +62,11 @@ func BagRecord(nodeName string) {
|
|
|
select {
|
|
|
case signal := <-ChannelKillRosRecord:
|
|
|
if signal == 1 {
|
|
|
- _, output, err := util.KillProcessByPID(recordSubProcessPid)
|
|
|
- if err != nil {
|
|
|
- c_log.GlobalLogger.Errorf("程序阻塞,杀死record命令子进程出错,【pid】=%v,【output】=%v,【err】=%v。", recordSubProcessPid, output, err)
|
|
|
+ if err := util.KillProcessByPid(recordSubProcessPid); err != nil {
|
|
|
+ c_log.GlobalLogger.Errorf("程序阻塞,杀死record命令子进程出错,【pid】=%v,【err】=%v。", recordSubProcessPid, err)
|
|
|
select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
}
|
|
|
- err = cmd.Process.Kill()
|
|
|
- if err != nil {
|
|
|
+ if err = cmd.Process.Kill(); err != nil {
|
|
|
c_log.GlobalLogger.Error("程序阻塞,杀死record命令进程", recordProcessPid, "出错:", err)
|
|
|
select {} // 此处阻塞防止record命令一直录包占满存储
|
|
|
}
|