在 Golang 中枚举进程的库可以使用 github.com/mitchellh/go-ps。这个库提供了一个 Process 结构体,可以用于表示系统中的进程,并提供了一些方便的函数来获取进程列表、查找特定进程等。
以下是一个简单的例子,演示如何使用这个库来列出当前正在运行的所有进程:
package main
import (
"fmt"
"github.com/mitchellh/go-ps"
)
func main() {
// 获取所有进程
processes, err := ps.Processes()
if err != nil {
fmt.Printf("获取进程列表失败: %v\n", err)
return
}
// 打印每个进程的信息
for _, p := range processes {
fmt.Printf("[%d] %s\n", p.Pid(), p.Executable())
}
}
这个程序会打印出每个进程的 ID 和可执行文件路径。你也可以通过 p.Status() 函数来获取该进程的状态,例如正在运行或已终止。
此外,该库还提供了一些其他有用的函数来查询和操作进程。例如,你可以使用 ps.FindProcess(pid int) 来查找指定 ID 的进程,并使用 ps.Kill(pid int) 来杀死指定 ID 的进程。




