如何从父进程打印交互式子进程的输出?

时间:2019-05-04 07:31:00

标签: go

我正在尝试从父进程获取交互式子进程(如python)的输出。我已经尝试过以下代码将进程stdin更改为os.Stdin,将stdout更改为os.Stdout,但是它不起作用。我在父终端上看不到子进程的输出。我错过了什么还是做错了吗?

func main(){
  cmd := exec.Command("python")
  cmd.Stdin = os.Stdin
  cmd.Stdout = os.Stdout
  cmd.Stderr = os.Stderr
  err := cmd.Run()
  if err != nil{
    fmt.Println("Cannot Execute cmd.")
  }
}

1 个答案:

答案 0 :(得分:0)

运行exec.Command("python", "-i")

默认情况下,不在外壳中运行python时,它不会进入交互模式,也不会打印出任何内容。