我正在尝试将进程的输出重定向到一个位置,然后打开进程的管道,读取其数据并将数据发送到预定义的Web套接字连接 - >但是我得到了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)
}
}
}
有人能告诉我我做错了什么吗? 我必须提一下,即使我改变了行的顺序(在重定向之前打开管道仍然会发生)