我有一个自定义版本的CENTOS,我需要在任何时候都将perl脚本作为守护进程运行。
要做到这一点,我想让它在启动时作为守护进程运行。
当机器开启时,我可以使用命令
守护脚本daemonize /var/myfolder/myscript.pl
这很好用。
所以我有一个rc1脚本,它有许多在机器启动时运行的命令,最后一行是我尝试守护该脚本的地方。 rc1脚本中的其他所有内容都运行良好,并且脚本不会输出任何错误,但是当我检查守护程序是否在启动时运行时,它没有运行。
还有另一种方法可以让脚本在启动时运行吗?或者关于为什么这种方法不起作用的任何想法?
答案 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