使用proc :: Daemon模块将脚本作为守护程序运行

时间:2013-11-21 00:26:36

标签: perl daemon redhat

我有一个perl脚本,我正在为一个学校作业编写,需要作为一个守护进程运行,并在收集信号时执行某些操作。我读了这个帖子How can I run a Perl script as a system daemon in linux?并尝试做了最高回复建议但是如果我运行我的程序,我没有看到它的PID。

这是我当前代码的基础知识。

#!/usr/bin/perl

use strict;
use warnings;
use Proc::Daemon;

Proc::Daemon::Init;

my $fname = "/tmp/filename.txt";
my $datafile;
my @students;

sub filefind {finds a filename }    

sub readData {reads text in file }

sub createhash { makes hash out of data }

sub printa {prints sorted data }

sub alpha { sorts data }

sub revalpha { sorts data }

filefind();

readData();

$SIG{ USR1 } = \&alph;

$SIG{ USR2 } = \&revalph;

1 个答案:

答案 0 :(得分:1)

您的代码似乎没有循环。运行filefind()readData()后,您的程序只需退出。您可以发表评论Proc::Daemon::Init;以查看程序

要解决此问题,您可以在最后添加一个循环:

while (1) {
    sleep 10;
}