在启动Linux上守护perl脚本

时间:2015-08-10 08:42:44

标签: linux perl daemon

我有一个自定义版本的CENTOS,我需要在任何时候都将perl脚本作为守护进程运行。

要做到这一点,我想让它在启动时作为守护进程运行。

当机器开启时,我可以使用命令

守护脚本
daemonize /var/myfolder/myscript.pl

这很好用。

所以我有一个rc1脚本,它有许多在机器启动时运行的命令,最后一行是我尝试守护该脚本的地方。 rc1脚本中的其他所有内容都运行良好,并且脚本不会输出任何错误,但是当我检查守护程序是否在启动时运行时,它没有运行。

还有另一种方法可以让脚本在启动时运行吗?或者关于为什么这种方法不起作用的任何想法?

2 个答案:

答案 0 :(得分:2)

Proc::Daemon提供您正在寻找的内容。

请参阅此前提出的问题:How can I run a Perl script as a system daemon in linux?

答案 1 :(得分:1)

问题是@INC在调用脚本时没有完全加载所有模块,所以我的守护进程没有运行。我使用PERL5LIB命令添加了相应的目录。

PERL5LIB='/perl:/custom/lib:/usr/local/lib64/perl5' /var/myfolder/myscript.pl &

其中/perl; /custom/lib/usr/local/lib64/perl5是@INC

中缺少的目录