如果你的脚本死掉()s,Sys :: Syslog会为你调用closelog()吗?

时间:2015-10-21 13:06:56

标签: perl syslog

这可能是一个语法点,但无论如何,只是为了澄清... perldoc on Sys::Syslog状态:

  

Sys :: Syslog的第三条规则是:程序崩溃,死亡,调用   closelog,日志结束了。

如果'程序'引用了整个内容,我的脚本和Sys :: Syslog包含在内,那是否意味着Sys :: Syslog会对closelog()进行调用?

如果没有,这是否意味着我应该将closelog()放在END块中?

1 个答案:

答案 0 :(得分:1)

Sys :: Syslog 在退出时调用closelog()。查看https://metacpan.org/source/SAPER/Sys-Syslog-0.33/Syslog.pm中的closelog()disconnect_log()来电。

但是在大​​多数情况下,在脚本中退出/删除时省略closelog()是安全的:无论如何,描述符将在进程退出时关闭。

大多数情况表示当Perl解释器在脚本的退出/死亡时终止时,普通脚本的情况。排除是特殊环境,例如mod_perl:如果脚本死亡,进程不会退出。