Как распечатать вывод интерактивного дочернего процесса из родительского процесса? - PullRequest
1 голос
/ 04 мая 2019

Я пытаюсь получить выходные данные интерактивного дочернего процесса, такого как 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 голосов
/ 04 мая 2019

Выполнить exec.Command("python", "-i").

По умолчанию при запуске python не в оболочке он не перейдет в интерактивный режим и ничего не напечатает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...