不在LIGHTTPD源中使用fork调用

时间:2012-05-02 11:17:15

标签: webserver fork lighttpd lighty

我计划将LIGHTTPD移植到我的嵌入式系统。我的环境中没有fork()系统调用。我可以在lighttpd源代码中看到#define HAVE_FORK,如果没有定义,lighttpd将不会进行任何fork调用。到目前为止一直很好..

但在其中一个lighttpd模块“mod_cgi”中,我可以看到一个fork()调用,该调用不受语句if(HAVE_FORK){...}

的保护

有没有办法在“mod_cgi”中避免这个fork()调用,我可以在编译期间禁用这个模块吗?

非常感谢您的帮助,请对此进行一些评论。

1 个答案:

答案 0 :(得分:1)

只有与外部CGI进程(例如php-cgi)通信才能支持lighttpd中的CGI,因此mod_cgi模块需要fork()。

如果你不需要CGI,那么只需从构建中省略mod_cgi(我猜你的环境中你将省略几乎所有模块;只有一对是强制性的)。如果你确实需要CGI,那么你要么在lighttpd上做很多工作,要么你应该看一下正在进行CGI的网络服务器。