可以使用github.com/mitchellh包来检测特定的进程是否正在运行。下面是一个示例代码:

package main

import (
    "fmt"
    "github.com/mitchellh/go-ps"
)

func main() {
    processName := "your_program.exe" // 要检测的进程名

    processes, err := ps.Processes()
    if err != nil {
        fmt.Println("获取进程列表出错:", err)
        return
    }

    for _, process := range processes {
        if process.Executable() == processName {
            fmt.Printf("进程 %s 正在运行\n", processName)
            return
        }
    }

    fmt.Printf("进程 %s 未运行\n", processName)
}

在上面的代码中,将your_program.exe替换成要检测的进程名。通过调用ps.Processes()函数获取当前系统中的进程列表。然后遍历进程列表,通过process.Executable()方法获取进程的可执行文件名,与要检测的进程名进行比较。如果找到匹配的进程名,则表示进程正在运行;如果没有找到匹配的进程名,则表示进程未运行。根据检测结果输出相应的信息。