寫腳本的時候一直很羨慕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