为了账号安全,请及时绑定邮箱和手机立即绑定

为什么golang exec无法获取java pid

为什么golang exec无法获取java pid

Go
守候你守候我 2022-10-10 19:18:00
Linux shell 获取 java pid$pgrep -u admin java1866去代码 test.gopackage mainimport (    "fmt"    "os/exec")func main() {    ret, err := exec.Command("pgrep", "-u ", "admin", "java").CombinedOutput()    if err != nil {        fmt.Println(err)        return    }    fmt.Println(string(ret))}去运行 test.go$go run test.goexit status 2问题是为什么linux shell可以获取java pid,但是go call exec却不能获取java pid去版本:$go versiongo version go1.4.2 linux/amd64操作系统信息redhat 7.0 
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

尝试使用"-u"而不是"-u ".



查看完整回答
反对 回复 2022-10-10
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

这看起来像“exec.Command 找不到 pgrep”。您可以通过添加以下内容来检查这一点:


path, err := exec.LookPath("pgrep")

if err != nil {

    fmt.Printf("Could not find pgrep, err: %v\n", err)

} else {

    fmr.Printf("The path to pgrep is %s\n", path)

}


查看完整回答
反对 回复 2022-10-10
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信