【发布时间】:2016-12-09 12:24:55
【问题描述】:
如果您只知道进程名称,那么用 Go 代码杀死进程的有效方法是什么?我看到os 包提供的一些功能,例如:
func FindProcess(pid int) (*Process, error)
func (p *Process) Kill() error
func (p *Process) Signal(sig Signal) error
有没有一种好的/常见的做法来获取pid 而不必执行命令然后解析输出?
我找到了一种使用如下命令取回 pid 的方法:
echo $(ps cax | grep myapp | grep -o '^[ ]*[0-9]*')
我有used it with exec.Command(),但如果有更好的方法,我想避免它。
【问题讨论】:
-
没有办法,只能执行外部命令。