我正在尝试在SIGHUP上为简单的perl守护进程重新读取配置文件。 我正在尝试
use sigtrap qw/handler rereadconf HUP/;
但执行“rereadconf”程序后,程序停止 我也在尝试
%SIG{HUP} = \&rereadconf;
sub rereadconf{
.... mycode
print "procedure executed\n";
};
但执行程序程序停止后结果相同。 那么如何在信号处理后让该过程继续执行呢?
答案 0 :(得分:0)
您的程序退出,因为accept
返回false,因为它被信号打断了。你想要
while (1) {
my $client = $srv->accept();
if (!$client) {
next if $!{EINTR};
die(sprintf(STDERR "[%s] accept: %s\n", basename($0), $!));
}
print(STDERR "accepted new client\n");
serve_client($client);
}