为什么在编写(unix)守护进程时必须关闭标准输入/输出/错误?
解决方法
您不必绝对关闭标准输出/错误,但您必须确定您的守护程序(和子项)将要写入的位置.将输出重定向到日志文件是一种常见做法.
需要关闭标准输入,以便守护程序(和/或子项)不会因尝试读取用户的某些输入而卡住.
但是,如果您要使用setsid()从控制TTY中分离守护进程,则标准输入/输出/错误将无效.
需要关闭标准输入,以便守护程序(和/或子项)不会因尝试读取用户的某些输入而卡住.
但是,如果您要使用setsid()从控制TTY中分离守护进程,则标准输入/输出/错误将无效.