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

fbr*_*eto 4 perl daemon memory-management resource-management http-daemon

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

HTTP ::守护程序:已在使用的地址...在/ path /到/脚本行NNN,第3行传播.

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

Dav*_*rtz 5

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

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

  • 更具体地说,将"ReuseAddr => 1"添加到传递给"HTTP :: Daemon-> new"的参数中. (2认同)