我计划将LIGHTTPD移植到我的嵌入式系统。我的环境中没有fork()系统调用。我可以在lighttpd源代码中看到#define HAVE_FORK,如果没有定义,lighttpd将不会进行任何fork调用。到目前为止一直很好..
但在其中一个lighttpd模块“mod_cgi”中,我可以看到一个fork()调用,该调用不受语句if(HAVE_FORK){...}
的保护有没有办法在“mod_cgi”中避免这个fork()调用,我可以在编译期间禁用这个模块吗?
非常感谢您的帮助,请对此进行一些评论。
答案 0 :(得分:1)
只有与外部CGI进程(例如php-cgi
)通信才能支持lighttpd中的CGI,因此mod_cgi模块需要fork()。
如果你不需要CGI,那么只需从构建中省略mod_cgi(我猜你的环境中你将省略几乎所有模块;只有一对是强制性的)。如果你确实需要CGI,那么你要么在lighttpd上做很多工作,要么你应该看一下正在进行CGI的网络服务器。