首页
Python
Java
PHP
IOS
NodeJS
JavaScript
HTML5
小程序
AI
CombinedOutput
全部标签
go - 将 stdout/stderr 重定向到一个函数的最佳方法是什么,该函数反过来格式化消息并将其打印到控制台?
我想捕获所有stdout和stderr消息,解析数据并以我想要的格式打印它们。我如何在go中执行此操作? 最佳答案 您可以使用cmd.CombinedOutput或cmd.Output:out,err:=exec.Command("ls","-al").CombinedOutput()//orout,err:=exec.Command("ls","-al").Output() 关于go-将stdout/stderr重定向到一个函数的最佳方法是什么,该函数反过来格式化消息并将其打印到控制台
并将
反过来
section
code
CombinedOutput
go
go - 为什么 os/exec.CombinedOutput() 没有竞争条件?
围棋bytes.Bufferisn'tthread-safe.然而,当我阅读源代码时,我注意到os/exec.CombinedOutput()c.Stdout和c.Stderr使用相同的缓冲区。进一步阅读包的实现,看起来在写入c.Stderr/c.Stdout时没有同步here.我是不是遗漏了什么或者我是否发现了可能的同步问题?AFAIKstderr和stdout可以由子进程同时写入。 最佳答案 如果Stderr和Stdout是Cmddocumentation中所述的同一作者,则它们不会同时写入。:IfStdoutandStderr
CombinedOutput
exec
code
section
noreferrer
go
thread-safety
Home
Powered By JJZJJ.COM
页面耗时:0.0714s