【问题标题】:Run script as daemon with proc::Daemon module使用 proc::Daemon 模块将脚本作为守护进程运行
【发布时间】:2013-12-05 06:39:36
【问题描述】:

我正在为学校作业编写一个 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;

【问题讨论】:

    标签: perl daemon redhat


    【解决方案1】:

    您的代码似乎没有循环。您的程序在运行filefind()readData() 后就退出。可以cmetsProc::Daemon::Init;查看过程

    为了解决这个问题,可以在最后添加一个循环:

    while (1) {
        sleep 10;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-01-03
      • 2013-10-14
      • 2015-03-21
      • 1970-01-01
      • 2023-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多