OS 中的服务列表 - golang

List of services in OS - golang

如何在 Windows 下获取 golang 中当前安装的服务列表?

我需要这样的东西:

List of currently running process in golang

但针对服务而非流程。

标准库中没有这样的函数,而且可能永远不会有。

考虑使用 one of the functions in os/exec to launch a Windows program that will list the available services and parse its output (e.g. "sc query state=all").

这是一个旧的 post,但我想无论如何我都会分享这个 link。 https://godoc.org/golang.org/x/sys/windows/svc/mgr

此软件包提供 API 用于在本地和远程系统上创建、控制和列出 windows 服务。

我从上面复制了以下文字link:

func (m *Mgr) ListServices() ([]string, error)

ListServices 枚举指定服务控制管理器数据库 m 中的服务。如果调用者没有对服务的 SERVICE_QUERY_STATUS 访问权限,则该服务将从返回的服务列表中以静默方式省略。