gpt4 book ai didi

go - 带有 % 和 , 参数的 exec 命令

转载 作者:数据小太阳 更新时间:2023-10-29 03:36:17 26 4
gpt4 key购买 nike

我需要在 Linux 上运行以下命令并使用 golang 获取输出。

/bin/ps o pid,%cpu,%mem -p 14806

命令工作正常并产生如下结果:

  PID %CPU %MEM
14806 0.8 6.0

但它不是通过 golang 代码工作的

package main

import (
"fmt"
"log"
"os/exec"
)

func main() {

cmd := exec.Command("ps", "o pid,%cpu,%mem -p 14806")
fmt.Printf("Path: %q, args[1]: %q\n", cmd.Path, cmd.Args[1])

out, err := exec.Command("ps", "o pid,%cpu,%mem -p 14806").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("The date is %s\n", out)
}


输出

Path: "/bin/ps", args[1]: "o pid,%cpu,%mem -p 14806"
2019/05/16 07:23:17 exit status 1
exit status 1

最佳答案

感谢@Volker

以下代码有效

package main

import (
"fmt"
"log"
"os/exec"
)

func main() {

cmd := exec.Command("ps", "--no-headers", "o", "pid,%cpu,%mem", "-p", "14806")
fmt.Printf("Path: %q, args[1]: %q\n", cmd.Path, cmd.Args[1])

out, err := exec.Command("ps", "--no-headers", "o", "pid,%cpu,%mem", "-p", "14806").Output()
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", out)
}

关于go - 带有 % 和 , 参数的 exec 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56162984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com