C++守护程序静音模式

C++ daemon silence mode

本文关键字:模式 守护程序 C++      更新时间:2023-10-16

我正在 unix 系统下编写守护进程,并在代码中使用std::coutno silent模式下进行调试。当我在daemon/silence mode开始这个过程时,我close(STDIN_FILENO)STDOUT_FILENOSTDERR_FILENO以节省打印到std::cout的资源。似乎关闭时,它会写给/dev/null,不是吗?在静音模式下避免资源开销的正确和最佳方法吗?或者,也许我需要使用全局silent flag并在每次调用std::cout之前检查它?还是其他解决方案?谢谢,对不起我的英语。

std::cout是通过写入 STDOUT_FILENO 来实现的。 关闭后者会破坏前者。