fix: 网元安装命令输出后缀检查逻辑

This commit is contained in:
TsMask
2025-05-29 18:24:31 +08:00
parent 2304d2069e
commit 160e73af8e

View File

@@ -3,10 +3,8 @@ package service
import (
"fmt"
"os"
"os/exec"
"path/filepath"
"strings"
"syscall"
"time"
"be.ems/src/framework/cmd"
@@ -270,17 +268,9 @@ func (r NeVersion) operateCommand(action, neType string, neFilePaths []string) (
// 删除软件包
omcStrArr = append(omcStrArr, fmt.Sprintf("sudo rm %s", strings.Join(neFilePaths, " ")))
// file.WriterFileTXT(fmt.Sprintf("#!/bin/bash \n%s", strings.Join(omcStrArr, " && ")), "/tmp/operate_omc.sh")
// 使用 nohup 启动进程
cmd := exec.Command("nohup", "sh", "-c", fmt.Sprintf("sleep 2s && %s", strings.Join(omcStrArr, " && ")), "&")
cmd.SysProcAttr = &syscall.SysProcAttr{
Setpgid: true, // 使进程脱离父进程的进程组
}
cmd.Start() // 启动子进程
// 2s后执行omc相关命令
// cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo rm -f /tmp/operate_run_%s_omc.out \n", action))
// cmdStrArr = append(cmdStrArr, fmt.Sprintf("bash /tmp/operate_omc.sh > /tmp/operate_run_%s_omc.out 2>&1 & \n", action))
cmdStrArr = append(cmdStrArr, fmt.Sprintf("sudo rm -f /tmp/operate_run_%s_omc.out \n", action))
cmdStrArr = append(cmdStrArr, fmt.Sprintf("nohup sh -c \"sleep 2s && %s\" > /tmp/operate_run_%s_omc.out 2>&1 & \n", strings.Join(omcStrArr, " && "), action))
cmdStrArr = append(cmdStrArr, fmt.Sprintf("echo '%s' \n", okFlagStr))
return okFlagStr, cmdStrArr, nil
} else if neType == "IMS" {