【发布时间】:2016-04-05 07:47:09
【问题描述】:
我正在用 C 编写一个程序,服务器-客户端传输(socket、send、recv...)
根据网站http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html,
和其他资源,在使用fork()产生一个新的子进程(可能比如写一个日志文件)后,都退出父进程并关闭所有文件描述符(FD)。
我想知道是否有必要这样做,因为我希望在父进程(服务器)的代码到来时做一些事情。而且,这个父进程会监听来自socket的新连接或请求,我猜如果关闭所有的FD就无效了。
谢谢。
【问题讨论】:
-
明确一点,这个
fork()子进程不是针对客户端请求的。 -
这感觉就像一个重言式 - 这就是 daemon() 所做的。真正的问题是您要完成什么...脱离控制终端?还有什么?