【发布时间】:2011-02-07 08:52:51
【问题描述】:
我编写了一个应用程序,它使用 fork 和 execv 来启动另一个进程。我制作了一个用于通知状态的管道,并从已启动进程的主条目中写入一些字节以通知它已正确启动。否则,read 返回 0,因为写管道已在分叉进程中关闭。
唯一的麻烦是当进程没有启动(缺少库)时,我在 stderr 中收到一条关于此的消息。消息被写入 shell 出了什么问题。我宁愿安静地做。但是,如果我在 execv 之前执行 close(2) ,我就没有我想要的消息。我仍然想保持 fd 2 对 stderr 开放。
【问题讨论】: