小编ton*_*ony的帖子

在/etc/init.d脚本中调用守护进程是阻塞的,而不是在后台运行

我有一个我想要守护的Perl脚本.基本上,这个perl脚本每30秒读取一个目录,读取它找到的文件,然后处理数据.为了简单起见,请考虑以下Perl脚本(称为synpipe_server,此脚本的符号链接/usr/sbin/):

#!/usr/bin/perl
use strict;
use warnings;

my $continue = 1;
$SIG{'TERM'}  = sub { $continue = 0; print "Caught TERM signal\n"; };
$SIG{'INT'} = sub { $continue = 0; print "Caught INT signal\n"; };

my $i = 0;
while ($continue) {
     #do stuff
     print "Hello, I am running " . ++$i . "\n";
     sleep 3;
}
Run Code Online (Sandbox Code Playgroud)

所以这个脚本基本上每3秒打印一次.

然后,因为我想要守护这个脚本,我还把这个bash脚本(也称为synpipe_server)放在/etc/init.d/:

#!/bin/bash
# synpipe_server : This starts and stops synpipe_server
#
# chkconfig: 12345 12 88
# description: Monitors …
Run Code Online (Sandbox Code Playgroud)

linux perl daemon init.d

23
推荐指数
1
解决办法
4万
查看次数

标签 统计

daemon ×1

init.d ×1

linux ×1

perl ×1