package auto import ( "fmt" "xg_auto_deploy/internal/global" "xg_auto_deploy/internal/remote" ) func KillToNodes(nodeIds []string) { global.Logs.Infoln("----------------开始kill----------------------------") if nodeIds[0] == "all" { fmt.Println("is ALL") for _, nodeTemp := range global.ServerNodeConfigs { //NodeId := nodeTemp.NodeId id, err := remote.SingleCmd(&nodeTemp, fmt.Sprintf("ps -ef | grep %s | grep -v grep | awk '{print $2}'", nodeTemp.XuguAddr)) if err != nil { global.Logs.Errorf("查询节点%s kill进程失败:%s \n", nodeTemp.NodeId, err) return } cmd := fmt.Sprintf("kill -9 %s", id) msg, err := remote.SingleCmd(&nodeTemp, cmd) if err != nil { global.Logs.Errorf("查询节点%s 发送kill进程失败:%s \n", nodeTemp.NodeId, err) return } global.Logs.Infof("查询节点%s kill进程成功:%s", nodeTemp.NodeId, msg) } return } if !IsNumericArray(nodeIds) { fmt.Println("传入指定节点参数错误,请检查:", nodeIds) return } for _, NodeId := range nodeIds { nodeTemp := global.ServerNodeConfigs[NodeId] id, err := remote.SingleCmd(&nodeTemp, fmt.Sprintf("ps -ef | grep %s | grep -v grep | awk '{print $2}'", nodeTemp.XuguAddr)) if err != nil { global.Logs.Errorf("查询节点%s kill进程失败:%s \n", nodeTemp.NodeId, err) return } cmd := fmt.Sprintf("kill -9 %s", id) msg, err := remote.SingleCmd(&nodeTemp, cmd) if err != nil { global.Logs.Errorf("查询节点%s 发送kill进程失败:%s \n", nodeTemp.NodeId, err) return } global.Logs.Infof("查询节点%s kill进程成功 %s", nodeTemp.NodeId, msg) } }