Я пытаюсь перенаправить вывод процесса в одно место, а затем открыть канал для процесса, прочитать его данные и отправить данные в предопределенное соединение через веб-сокет -> но я получаю 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)
}
}
}
Может кто-нибудь сказать мне, что я сделал неправильно?Я должен упомянуть, что даже если я изменю порядок строки (открытие канала до перенаправления все равно происходит)