golang執行exec命令

建立對象:
cmd, err := exec.Command("echo", "show me")
 
執行命令:
cmd.Run()  //Run 阻塞進程,直到命令執行結束
cmd.Start() //Start 非阻塞執行
cmd.Wait() //Wait 阻塞進程,等待命令執行結束, 與 Star 配合使用
 
設置輸出:
var outInfo bytes.Buffer
cmd := exec.Command("tr", "a-z", "A-Z")
cmd.Stdin = strings.NewReader("select * from user")
cmd.Stdout = &outInfo
 
Cmd結構體說明:
  func Command(name string, arg ...string) *Cmd
Cmd結構體定義:
type Cmd struct {
  // 命令
  Path string
 
  // 命令參數
  Args []string
 
  // 進程執行環境
  Env []string
 
  // 命令執行目錄, 默認當前目錄
  Dir string
  
  // 命令輸入
  Stdin io.Reader
 
  // 命令輸出
  Stdout io.Writer
 
  // 命令報錯
  Stderr io.Writer
 
 
  ExtraFiles []*os.File
  SysProcAttr *syscall.SysProcAttr
  Process *os.Process
  ProcessState *os.ProcessState
}
相關文章
相關標籤/搜索