如何在Linux中将Perl脚本作为系统守护程序运行?

使Perl脚本作为守护程序在Linux中运行的简单方法是什么?

目前,这是在CentOS上。我希望它从系统启动,然后从系统关闭,因此一些/etc/rc.d/init.d集成也不错,但是我总是可以向添加一个自定义行/etc/rc.d/rc.local


料青山看我应如是
浏览 453回答 3
3回答

喵喵时光机

如果您没有Chas建议的Proc :: Daemon。欧文斯,这是您手工制作的方法:sub daemonize {&nbsp; &nbsp;use POSIX;&nbsp; &nbsp;POSIX::setsid or die "setsid: $!";&nbsp; &nbsp;my $pid = fork() // die $!; #//&nbsp; &nbsp;exit(0) if $pid;&nbsp; &nbsp;chdir "/";&nbsp; &nbsp;umask 0;&nbsp; &nbsp;for (0 .. (POSIX::sysconf (&POSIX::_SC_OPEN_MAX) || 1024))&nbsp; &nbsp; &nbsp; { POSIX::close $_ }&nbsp; &nbsp;open (STDIN, "</dev/null");&nbsp; &nbsp;open (STDOUT, ">/dev/null");&nbsp; &nbsp;open (STDERR, ">&STDOUT");&nbsp;}

大话西游666

我认为最简单的方法是使用daemon。它允许您将任何进程作为守护程序运行。这意味着,例如,如果您决定更改为python,就不必担心库。要使用它,只需使用:daemon myscript args大多数发行版上都应该有此功能,但默认情况下可能未安装。
打开App,查看更多内容
随时随地看视频慕课网APP