简体   繁体   中英

Golang: Execute the gobench on binary mode

I'm working in a script in which I want to make several calls to gobench , I received the advice that I should read on the binary way, like that

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])
    }
}

But once I'm do it this I'm getting this error, Does anybody knows why?

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

Are there any other way to do the exc without setting the gobench as value in the PATH?

If I export my gobench dir to my PATH I'm receiving this

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

Try passing the whole directory where gobench resides to exec.Command() :

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)
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM