【发布时间】:2016-01-18 11:16:00
【问题描述】:
我在守护程序中遇到问题。问题是在关闭所有打开的描述符后,我需要重新打开 stdout 文件来打印消息。
我有一种方法。但这行不通。
方法是使用 dup 复制标准输出描述符并重新打开它。但是调用 deamonize 函数会关闭所有文件描述符。所以,那个重复的文件描述符也被关闭了。
谁能帮我做这件事。
【问题讨论】:
-
为什么要在守护进程中打印到标准输出?
-
我想检查程序是否只运行一次(单实例守护进程)。因此,如果它已经执行,我需要在终端中打印错误消息。
-
这个问题可能与this other question有关
-
@msc,不是那个问题。我的要求是关闭所有文件描述符后,我需要打开标准输出文件。
-
它不工作。它给出了错误“没有这样的设备或地址”。
标签: c