【发布时间】:2017-01-19 09:05:41
【问题描述】:
在编写程序(Unix 风格)时,它能否处理和管理多个 stdout 和 stdin 通道?
【问题讨论】:
-
我很好奇你认为一个进程拥有多个标准输出意味着什么。例如,
printf的输出会去哪里? -
我会想出某种方法来通过重载方法选择要打印到的特定通道。我正在查看 websocketd 守护进程,想知道是否可以将 actor 实现为一个长时间运行的进程,它只会获取新的目标流来写入。我想使用套接字或其他轻量级通信流将是下一个最佳选择,但我想要 srd 标准输出的简单性。
-
在那种情况下,这听起来像是你在寻找
fopen()和fprintf(),还是我误解了什么? -
如果您实际上要问的是“一个进程是否可以从其父进程获得多个输出或多个输入”,那么答案是“是”;
exec可以携带任意数量的文件描述符。
标签: c process operating-system posix