• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

利用go写个Windows简单进程管理工具

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Windows环境下做开发的时候经常需要批量结束进程,比如java.exe ,于是写了这个小工具,输入模糊的进程名,自动批量结束进程

 1 package main
 2 
 3 import (
 4     "fmt"
 5     "log"
 6     "os/exec"
 7 )
 8 
 9 func main() {
10     var inputStr string
11     for {
12         fmt.Println("---------------------------------------------------")
13         fmt.Print("1->退出  ")
14         fmt.Print("2->显示进程  ")
15         fmt.Print("3->结束进程  ")
16         fmt.Println("4->显示全部进程")
17         fmt.Println("---------------------------------------------------")
18         fmt.Scanln(&inputStr)
19         if inputStr == "1" {
20             fmt.Println("已退出...")
21             break
22         } else if inputStr == "2" {
23             fmt.Print("请输入进程名称:")
24             var processName string
25             fmt.Scanln(&processName)
26             if len(processName) == 0 {
27                 fmt.Println("进程名称不可为空!")
28             } else {
29                 text := "imagename eq " + processName + "*"
30                 listProcess(text)
31             }
32         } else if inputStr == "3" {
33             fmt.Print("请输入要结束的进程名称:")
34             var processName string
35             fmt.Scanln(&processName)
36             if len(processName) == 0 {
37                 fmt.Println("进程名称不可为空!")
38             } else {
39                 text := "imagename eq " + processName + "*"
40                 killProcess(text)
41             }
42         } else if inputStr == "4" {
43             listAllProcess()
44         } else {
45         fmt.Println("请输入正确的参数!")
46         }
47     }
48     fmt.Scanln(&inputStr)
49 }
50 
51 func listProcess(text string) {
52     cmd := exec.Command("tasklist", "/fi", text)
53     out, err := cmd.CombinedOutput()
54     if err != nil {
55         log.Fatal(err)
56     }
57     fmt.Println(string(out))
58 }
59 func listAllProcess() {
60     cmd := exec.Command("tasklist")
61     out, err := cmd.CombinedOutput()
62     if err != nil {
63         log.Fatal(err)
64     }
65     fmt.Println(string(out))
66 }
67 
68 func killProcess(text string) {
69     cmd := exec.Command("taskkill", "/f", "/t", "/fi", text)
70     out, err := cmd.CombinedOutput()
71     if err != nil {
72         log.Fatal(err)
73     }
74     fmt.Println(string(out))
75 }
View Code

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Go]使用gomod安装beego发布时间:2022-07-10
下一篇:
在Go语言中基础的Redis操作发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap