【发布时间】:2015-10-22 21:36:21
【问题描述】:
这可能是语法问题,但无论如何,只是为了澄清......perldoc on Sys::Syslog 状态:
Sys::Syslog 的第三条规则是:程序崩溃、死亡、调用 closelog ,日志结束。
如果“程序”指的是整个事情,包括我的脚本和 Sys::Syslog,这是否意味着 Sys::Syslog 会为我调用 closelog()?
如果不是,这是否意味着我应该将closelog() 放在 END 块中?
【问题讨论】:
-
在源代码中没有这样的
END块。 /eg 和 /t 在这方面似乎也没有任何东西。你试过了吗? -
@simbabque,我也没有看到。 /eg 和 /t 是什么?此外,我不确定如果 closelog() 没有运行会发生什么,这将向我表明它是否有效;因此我在这里问。你将如何测试它?
-
嗯,它是一个 Perl 模块,即使它在核心中。所以它在 CPAN 上。在那里你可以浏览它:metacpan.org/source/SAPER/Sys-Syslog-0.33 - 不幸的是,我不知道测试它的好方法,因为我真的不知道它的作用。也许得到一个干净的虚拟机,然后尝试打开日志,写一些东西并制作程序
die。你会看到会发生什么。 :) -
@simbabque 我确实查看了源代码,但我不确定是否有其他方法可以实现这一点。 /eg 和 /t 是什么?
-
/t目录是测试在分发中的位置。/eg有时也在那里。它包含示例。从我上面评论中的链接中查看 metacpan 上的浏览分发功能。