0
我正在unix系統下編寫守護進程,並在代碼中使用std::cout
來調試no silent
模式。當我開始daemon/silence mode
,I close(STDIN_FILENO)
,STDOUT_FILENO
和STDERR_FILENO
的過程時,可節省打印到std::cout
的資源。似乎關閉時,它寫入/dev/null
,不是嗎?在靜音模式下避免資源開銷是否正確並且是最好的方法?或者,也許我需要使用全球silent flag
並每次打電話給std::cout
之前檢查它?或其他解決方案?謝謝,對不起我的英語。C++守護進程靜默模式
這是讓守護進程沉默的最好方法嗎? – abrahab
@abrahab:*最好的方法是從守護進程中刪除輸出語句。通常的方法是將stdout和stderr重定向到'/ dev/null'。也許一個命令行開關或環境變量可以使守護進程選擇一些冗長的級別,有選擇地寫一些事情而不是其他的。 – wallyk