我正在用围棋编写一个程序,它可以执行类似程序(也叫围棋)的服务器.现在,我想将子程序的stdout放在启动父程序的终端窗口中.一种方法是使用cmd.Output()
函数,但是只有在进程退出后才会打印标准输出.(这是个问题,因为这个类似服务器的程序要运行很长时间,我想读取日志(log)输出)
变量out
是type io.ReadCloser
,我不知道应该如何处理它才能完成任务,而且我在网上找不到任何关于这个主题的有用信息.
func main() {
cmd := exec.Command("/path/to/my/child/program")
out, err := cmd.StdoutPipe()
if err != nil {
fmt.Println(err)
}
err = cmd.Start()
if err != nil {
fmt.Println(err)
}
//fmt.Println(out)
cmd.Wait()
}
代码说明:取消对Println
函数的注释以获得要编译的代码,我知道Println(out io.ReadCloser)
不是一个有意义的函数