zoukankan      html  css  js  c++  java
  • golang ---查看进程(Windows)

    代码:其实主要是调用tasklist和taskkill

    package main
    
    import (
        "fmt"
        "log"
        "os/exec"
    )
    
    func main() {
        var inputStr string
        for {
            fmt.Println("---------------------------------------------------")
            fmt.Print("1->退出  ")
            fmt.Print("2->显示进程  ")
            fmt.Print("3->结束进程  ")
            fmt.Println("4->显示全部进程")
            fmt.Println("---------------------------------------------------")
            fmt.Scanln(&inputStr)
            if inputStr == "1" {
                fmt.Println("已退出...")
                break
            } else if inputStr == "2" {
                fmt.Print("请输入进程名称:")
                var processName string
                fmt.Scanln(&processName)
                if len(processName) == 0 {
                    fmt.Println("进程名称不可为空!")
                } else {
                    text := "imagename eq " + processName + "*"
                    listProcess(text)
                }
            } else if inputStr == "3" {
                fmt.Print("请输入要结束的进程名称:")
                var processName string
                fmt.Scanln(&processName)
                if len(processName) == 0 {
                    fmt.Println("进程名称不可为空!")
                } else {
                    text := "imagename eq " + processName + "*"
                    killProcess(text)
                }
            } else if inputStr == "4" {
                listAllProcess()
            } else {
                fmt.Println("请输入正确的参数!")
            }
        }
        fmt.Scanln(&inputStr)
    }
    
    func listProcess(text string) {
        fmt.Println(text)
        cmd := exec.Command("tasklist", "/fi", text)
        out, err := cmd.CombinedOutput()
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(string(out))
    }
    func listAllProcess() {
        cmd := exec.Command("tasklist")
        out, err := cmd.CombinedOutput()
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(string(out))
    }
    
    func killProcess(text string) {
        cmd := exec.Command("taskkill", "/f", "/t", "/fi", text)
        out, err := cmd.CombinedOutput()
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println(string(out))
    }

    参考:https://www.cnblogs.com/saryli/p/11652294.html

  • 相关阅读:
    db2 SQL3055N 报错分析解决
    db2之load报错SQL3107W解决
    db2报错之ERRORCODE=-4220 SQLSTATE=NULL
    mybatis-generator自动生成工具配置
    db2 表空间backup pending
    DB2
    Redis
    Linux安装Redis
    vue2.0学习(五)-Vue-router
    JavaScript基础-数据类型
  • 原文地址:https://www.cnblogs.com/pu369/p/12868187.html
Copyright © 2011-2022 走看看