AIOps 一场颠覆传统运维的盛筵
684
2022-11-06
通过go脚本检测tomcat进程
本例子中tomcat运行在windows机器上,通过go脚本简单判断tomcat进程是否存在,如果不存在,执行命令拉起进程,脚本内容如下:
package main import ( "bytes" "fmt" "os/exec")func checkProcess(commandName string, param []string) (string, string) { cmd := exec.Command(commandName, param...) var stdout, stderr bytes.Buffer cmd.Stdout = &stdout cmd.Stderr = &stderr err := cmd.Run() if err != nil { return "", "" } resultOut, resultErr := string(stdout.Bytes()), string(stderr.Bytes()) return resultOut, resultErr}func main() { paramSlice := []string{"/C", "wmic process list brief| findstr java"} paramSlice1 := []string{"/C", "start D:\\gongguan\\soft\\apache-tomcat-9.0.64\\bin\\startup.bat"} paramSlice2 := []string{"/C", "D:\\gongguan\\soft\\apache-tomcat-9.0.64\\bin\\shutdown.bat"} result, _ := checkProcess("cmd", paramSlice) if result != "" { fmt.Println(result) } else { _, stopErr := checkProcess("cmd", paramSlice2) if stopErr != "" { fmt.Println("Close command execution failed") } r, e := checkProcess("cmd", paramSlice1) if r != "" { fmt.Println("Java alredy running...") } if e != "" { fmt.Println(e) } }}
发表评论
暂时没有评论,来抢沙发吧~