package main
import (
"fmt"
"os"
"os/exec"
"strconv"
"strings"
)
func isProcessExist(appName string) (bool, string, int) {
appary := make(map[string]int)
cmd := exec.Command("cmd", "/C", "tasklist")
output, _ := cmd.Output()
//fmt.Printf("fields: %v\n", output)
n := strings.Index(string(output), "System")
if n == -1 {
fmt.Println("no find")
os.Exit(1)
}
data := string(output)[n:]
fields := strings.Fields(data)
for k, v := range fields {
if v == appName {
appary[appName], _ = strconv.Atoi(fields[k+1])
return true, appName, appary[appName]
}
}
return false, appName, -1
}
func main() {
fmt.Println(isProcessExist("chrome.exe"))
}
输出:
true chrome.exe 7316
查找进程并删除进程
package main
import (
"fmt"
"os"
"os/exec"
"strconv"
"strings"
)
func isProcessExist(appName string) (bool, string, int) {
appary := make(map[string]int)
cmd := exec.Command("cmd", "/C", "tasklist")
output, _ := cmd.Output()
//fmt.Printf("fields: %v\n", output)
n := strings.Index(string(output), "System")
if n == -1 {
fmt.Println("no find")
os.Exit(1)
}
data := string(output)[n:]
fields := strings.Fields(data)
for k, v := range fields {
if v == appName {
appary[appName], _ = strconv.Atoi(fields[k+1])
return true, appName, appary[appName]
}
}
return false, appName, -1
}
func main() {
fmt.Println(isProcessExist("notepad++.exe"))
c := exec.Command("cmd.exe", "/C", "taskkill", "/IM", "notepad++.exe")
err := c.Start()
if err != nil {
fmt.Println(err)
}
c.Wait()
}
原文:https://www.cnblogs.com/saryli/p/11652294.html