Go language - открытие канала для команды exec после вывода перенаправления вызывает EOF - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь перенаправить вывод процесса в одно место, а затем открыть канал для процесса, прочитать его данные и отправить данные в предопределенное соединение через веб-сокет -> но я получаю EOF.

Например:

myCmd := exec.Command("bash", "-c", "some command")

myCmd.Stdout = os.Stdout

myCmd.Stderr = os.Stderr

appOut, _ := lsCmd.StdoutPipe()

А потом я называю это рутиной:

data := make([]byte, 1000)

for {

    for {

        n, err := appOut.Read(data)

        if err == nil && n > 0 {
            myConnection.WriteMessage(websocket.TextMessage, data[0:n])
        }

      if err != nil {
        log.Printf("App exited. err: %s, Error ", err)
       }

    }
}

Может кто-нибудь сказать мне, что я сделал неправильно?Я должен упомянуть, что даже если я изменю порядок строки (открытие канала до перенаправления все равно происходит)

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