小编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 …
Run Code Online (Sandbox Code Playgroud)

linux unix daemon init.d

9
推荐指数
1
解决办法
3758
查看次数

标签 统计

daemon ×1

init.d ×1

linux ×1

unix ×1