【问题标题】:C++ daemon silence modeC++ 守护进程静默模式
【发布时间】:2012-05-21 07:35:28
【问题描述】:

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

【问题讨论】:

    标签: c++ daemon cout silent


    【解决方案1】:

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

    【讨论】:

    • 这是让守护进程保持沉默的最佳方法吗?
    • @abrahab:最好的方法是从守护进程中删除输出语句。通常的方法是将stdout和stderr重定向到/dev/null。也许命令行开关或环境变量可以通过选择性地编写某些内容而不是其他内容来使守护进程选择详细程度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2010-10-14
    • 2013-02-04
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多