相关疑难解决方法(0)

Linux API列出正在运行的进程?

我需要一个C/C++ API,它允许我列出Linux系统上正在运行的进程,并列出每个进程打开的文件.

希望最终直接读取的/ proc /文件系统.

谁能想到办法做到这一点?

c c++ linux api process

49
推荐指数
5
解决办法
8万
查看次数

golang,Windows版本中当前正在运行的进程列表

如何在Windows下的golang中获取当前正在运行的进程列表?

我需要这样的东西:

Golang中当前正在运行的进程列表

但也可以在Windows下使用.

go

7
推荐指数
2
解决办法
5120
查看次数

在 macOS 上查找进程的绝对路径名

我是 GO 和 mac 的新手,我正在尝试使用 sysctl 来查找正在运行的进程的完整路径名。

kprocs, err := unix.SysctlKinfoProcSlice("kern.proc.all")
    if err != nil {
        fmt.Println("error: ", err)
    }

    for _, proc := range kprocs {
        name := string(proc.Proc.P_comm[:])
        pid := proc.Proc.P_pid
        extName, err := unix.SysctlKinfoProc("kern.proc.pathname", int(pid))
        if err != nil {
            fmt.Println("error: ", err)
        }
Run Code Online (Sandbox Code Playgroud)

并收到错误:没有这样的文件或目录

我正确使用这个功能吗?

编辑 如果我像这样运行进程: ./processName ,那么我没有得到它的完整路径,例如 /Users/username/go/src/processName - 这就是我需要的。所有的解决方案ps都会给出相对路径,而我需要一些给出过程的绝对路径的东西。

macos go

6
推荐指数
1
解决办法
324
查看次数

Golang - 按名称杀死进程

如果您只知道进程名称,那么使用Go代码终止进程的有效方法是什么?我看到os包提供的一些功能如:

func FindProcess(pid int) (*Process, error)
func (p *Process) Kill() error
func (p *Process) Signal(sig Signal) error
Run Code Online (Sandbox Code Playgroud)

是否有一个好的/通常的做法来获得pid不必执行命令然后解析输出?

我找到了一种方法来使用如下命令取回pid:

  • echo $(ps cax | grep myapp | grep -o '^[ ]*[0-9]*')

而且我已经使用了它,exec.Command()但如果有更好的方法我想避免它.

command kill process go

4
推荐指数
3
解决办法
1万
查看次数

OS中的服务列表 - golang

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

我需要这样的东西:

golang中当前正在运行的进程列表

但是对于服务而不是过程.

operating-system windows-services go

2
推荐指数
1
解决办法
1544
查看次数

标签 统计

go ×4

process ×2

api ×1

c ×1

c++ ×1

command ×1

kill ×1

linux ×1

macos ×1

operating-system ×1

windows-services ×1