首页 >后端开发 >Golang >为什么我的 Go 代码在使用 `exec.Command` 时返回'fork/exec . no such file or directory”?

为什么我的 Go 代码在使用 `exec.Command` 时返回'fork/exec . no such file or directory”?

Patricia Arquette
Patricia Arquette原创
2024-12-09 02:52:16478浏览

Why Does My Go Code Return

Error: "fork/exec . no such file or directory" in Go with fork/exec

运行以下 Go 代码时,你可能会遇到错误“fork/exec .没有这样的文件或目录”:

func loop1(gor_name string, ras_ip string) {
    // ...
    c := fmt.Sprintf("%s %s %s %s", "./goreplay  --input-file ", gor_name, " --input-file-loop --output-http ", ras_ip)
    cmd := exec.Command(c)
    // ...
}

出现这个错误因为函数 exec.Command 需要程序名称作为第一个参数,后跟其参数。代码当前将整个命令指定为单个字符串,从而导致错误。

要解决此问题,请修改代码以使用正确的函数签名:

cmd := exec.Command("./goreplay", "--input-file", gor_name, "--input-file-loop", "--output-http", ras_ip)

在此更新的代码,程序名称“goreplay”及其参数作为单独的参数传递给 exec.Command。

以上是为什么我的 Go 代码在使用 `exec.Command` 时返回'fork/exec . no such file or directory”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn