如何在关闭所有描述符后重新打开 stdout 文件

  • 本文关键字:新打开 文件 stdout 描述 c
  • 更新时间 :
  • 英文 :


我在守护程序中遇到问题。问题是在关闭所有打开的描述符后,我需要重新打开 stdout 文件以打印消息。

我有一个办法。但这行不通。

方法是使用 dup 复制标准输出描述符并重新打开它。但是称为去魔化函数会关闭所有文件描述符。因此,该重复文件描述符也已关闭。

谁能帮我做到这一点。

如果使用daemon()守护程序,则可以指定noclose以防止关闭这些文件描述符:

daemon(0, 1);

但是您应该在手动检查后关闭它们,否则您的终端可能会搞砸。

最新更新