【发布时间】:2012-01-05 02:02:20
【问题描述】:
我编写了一个守护进程,在开发过程中它的调试信息会发送到 stderr(在它完全“守护进程”之前)。现在代码更成熟了,所以 stderr 已经通过freopen(2) 调用重定向到/dev/null。出于调试的目的,我真的希望能够连接到服务器守护进程,发送命令并让它神奇地开始通过套接字发送stderr 流。
有没有办法(在分叉的进程中)对子进程的套接字文件描述符在父进程的stderr 上执行类似“dup(2)”的操作? strong> 只能接受 Linux 解决方案。
有大量代码打印到stderr,-出于验证目的-我宁愿干脆不碰。
如果dup2 可以满足我的要求,这将起作用:Redirect STDOUT and STDERR to socket in C?
【问题讨论】:
-
您是否考虑过将其发送到 FIFO 并将其清除?
-
我对问题中的 child 和 parent 讨论感到困惑;服务器
fork(2)是每个客户端的孩子吗?您想从其中一个生成的子节点中获取 父节点的 调试信息吗? -
@sarnold 是的,是的。我想获得 一个 生成的孩子的父母的调试信息。