根据我可以找到的文档,daemontools捕获stderr (或任何其他文件描述符)的推荐方法是将其重定向到stdout。如果您的服务有一个log/run脚本,您的守护进程的stdout将被管道传输到它。
这显然意味着stderr和stdout混合在记录器的输出中。有谁有在守护进程管理的过程中分别捕获stdout和stderr的经验吗?
发布于 2013-06-14 11:08:32
在我看来,这是一个shell问题:“我如何发送stderr和stdout它们各自的方式?”假设bash,或Bourne-ish语法:
# 3 goes to wherever stdout is pointing
exec 3>&1
# send stdout of this cmd to FD 3, stderr somewhere else
eval $command 2>&1 1>&3 | sed 's/^/stderr from pipe: /'
# close FD 3
exec 3>&-https://serverfault.com/questions/515792
复制相似问题