os/exec包下有各种命令行相关的便捷命令
执行命令行
package main
import (
"fmt"
"os/exec"
)
func main() {
buf,err:=exec.Command("ls","-al").CombinedOutput()
if err != nil {
fmt.Println(err.Error())
}
fmt.Println(string(buf))
}
启动cmd并等待
比如启动火狐浏览器,只需要start(),不需要等待进程结束。
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
cmd:=exec.Command("/usr/bin/firefox")
cmd.Stdout=os.Stdout
cmd.Stderr=os.Stderr
// 只启动火狐,不等待火狐退出即执行下一句
err:=cmd.Start()
if err != nil {
fmt.Println(err.Error())
}
// 做点其他事情
// ...
// 等待火狐退出
err=cmd.Wait()
if err != nil {
fmt.Println(err.Error())
}
}