0

正如标题所说,我正在尝试制作一个 perl 守护程序,它长期运行,我希望在资源使用方面保持清醒。

我见过的所有示例/文档似乎都没有提到断开会话的方法。

我可以在WWW::Mechanize::Firefox::Troubleshooting中找到关于该主题的最佳文档, 建议在哪里对象(和连接?)保持活动状态,直到全局销毁。

简而言之,我没有看到任何“断开连接”功能,并且想知道我是否遗漏了什么。

4

1 回答 1

0

断开连接似乎是通过析构函数处理的。Perl 为此使用了特殊DESTROY的方法。不建议手动调用此方法。

您需要减少$mech对象的引用计数以使其自动销毁。这发生在变量超出范围时,在进程结束时的全局销毁阶段,或者(在对象的情况下),通过为变量分配不同的东西,例如

$mech = undef;

要完全释放任何变量,您还可以

undef $mech; # which btw is the answer provided in the FAQ you linked

在这种情况下,差异是微妙的,并且无关紧要。

于 2013-09-20T09:22:22.797 回答