basyura's blog

あしたになったらほんきだす。

go - xlskiller

ActiveX な社内システムなせいか、タブ化するソフトを入れてるせいか Excel のプロセスが大量に残ってしまうことがよくある。タスクマネージャーから消すのもだるいのでプロセスを kill するやつ。

package main

import "github.com/shirou/gopsutil/process"

import "fmt"
import "strings"

func main() {
    procs, err := process.Processes()
    if err != nil {
        fmt.Println(err)
        return
    }
    for _, proc := range procs {
        name, err := proc.Name()
        if err != nil {
            continue
        }
        if strings.HasPrefix(name, "EXCEL") {
            fmt.Println("Kill " + name)
            err := proc.Kill()
            if err != nil {
                fmt.Println(err)
            }
        }
    }
}