写脚本的时候一直很羡慕golang的并行处理能力, 突发奇想,咱们在作一些系统级的脚本程序的时候,其实能够直接python
经过golang去执行系统上的可执行程序,而后利用CPU的多核能力,说干就干,下面就是代码范例git
package main import ( "fmt" "os/exec" "runtime" "time" ) var quit chan int = make(chan int) func runComm() { cmd := exec.Command("python", "get_data.py") out, err := cmd.CombinedOutput() if err != nil { fmt.Println(err) } fmt.Println(string(out)) //return string(out) time.Sleep(3*time.Second) quit <- 0 } func main() { runtime.GOMAXPROCS(2) go runComm() go runComm() for i := 0; i < 2; i++ { <- quit } }
上面这个就是利用golang的 goroutine的多核处理能力,来调用写好的处理数据的pythong脚本,更多代码在下面的连接github
https://github.com/r00tjimmy/codeBox/blob/master/golang_basic/goroutine_exec.gogolang