【发布时间】:2013-02-20 10:28:24
【问题描述】:
我正在嵌入式 Linux 上开发程序。我的程序是一个守护进程,并且有一个日志功能,可以使用printf(stdout 输出)输出日志。
因此,如果我在嵌入式 Linux 系统上打开一个 telnet 会话,然后启动我的程序,我将在 telnet 会话中显示输出。我想知道如果我关闭 telnet 会话,输出会发生什么。输出重定向到哪里?
当我关闭 telnet 会话时,是否可以检查 stdout 是否关闭?为了避免我的日志功能在标准输出关闭时被执行。
【问题讨论】:
-
一个守护进程根本不应该打印到标准输出......但是,您可能会遇到运行时错误。您实际上可以通过检查 printf 的返回值来确定写入的字符。试试看……见return部分。