123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package common
- import (
- "os/exec"
- "runtime"
- "strings"
- )
- func runInWindows(cmd string) (string, error) {
- result, err := exec.Command("cmd", "/c", cmd).Output()
- if err != nil {
- return "", err
- }
- return strings.TrimSpace(string(result)), err
- }
- func RunCommand(cmd string) (string, error) {
- if runtime.GOOS == "windows" {
- return runInWindows(cmd)
- } else {
- return runInLinux(cmd)
- }
- }
- func runInLinux(cmd string) (string, error) {
- result, err := exec.Command("/bin/sh", "-c", cmd).Output()
- if err != nil {
- return "", err
- }
- return strings.TrimSpace(string(result)), err
- }
- //根据进程名判断进程是否运行
- func CheckProRunning(serverName string) (bool, error) {
- a := `ps ux | awk '/` + serverName + `/ && !/awk/ {print $2}'`
- pid, err := RunCommand(a)
- if err != nil {
- return false, err
- }
- return pid != "", nil
- }
- //根据进程名称获取进程ID
- func GetPid(serverName string) (string, error) {
- a := `ps ux | awk '/` + serverName + `/ && !/awk/ {print $2}'`
- pid, err := RunCommand(a)
- return pid, err
- }
|