关于go:Golang:以二进制模式执行gobench


Golang: Execute the gobench on binary mode

我在一个脚本中工作,我想对gobench进行多次调用,我收到了应该以二进制方式阅读的建议,像那样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

import (
   "log"
   "os/exec"
)

func gobench(url string) {
    cmd := exec.Command("gobench", url)
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Command finished with error: %v", err)
    }
}

var searchRoutes = []string{
   "http:www.myurl.com/request1",
   "http:www.myurl.com/request2",
   "http:www.myurl.com/request3",
   "http:www.myurl.com/request4",
}

func main() {
    for i := 0; i < len(searchRoutes); i++ {
        gobench(searchRoutes[i])
    }
}

但是一旦这样做,我就会收到此错误,有人知道为什么吗?

2014/06/03 12:02:44 Command finished with error: exec:"gobench":
executable file not found in $PATH

在没有将gobench设置为PATH中的值的情况下,还有其他方法可以执行此操作吗?

如果我将gobench目录导出到我的PATH中,我将收到此消息

2014/06/03 12:22:59 Command finished with error: exit status 2 exit
status 1

  • Golang的可能副本:使用gobench进行多次测试


尝试将gobench所在的整个目录传递到exec.Command()

1
2
3
4
5
6
7
func gobench(url string) {
    cmd := exec.Command("/path/to/gobench", url)
    err := cmd.Run()
    if err != nil {
        log.Fatalf("Command finished with error: %v", err)
    }
}