我的守护进程后如何清理?

时间:2011-11-08 00:32:55

标签: perl memory-management daemon resource-management http-daemon

我正在使用文档中概述的循环结构的修改版本运行HTTP::Daemon的本地实例。我已经可以根据用户的请求退出循环,但后续执行我的Perl脚本会给我一个错误:

  

HTTP ::守护程序:已在使用的地址...在/ path / to / line line NNN,第3行传播。

我必须做些什么来成为一个好公民并在我的守护进程后清理?

1 个答案:

答案 0 :(得分:5)

很可能没什么。该地址由前一个实例的剩余连接使用。一旦关闭,地址将自动释放。

如果要加快此过程,可以在绑定之前设置SO_REUSEADDR套接字选项。有关详细信息,请参阅PERL socket文档。 “如果服务器在没有未完成连接的情况下死亡,除非您使用setsockopt()函数使用选项SO_REUSEADDR,否则端口将无法立即重复使用。”