아마 당신이 참조 대답의 뼈를 사용하는 것이지만, 추가
이
그래서,이 약과 같습니다
pkill -HUP daemon.pl
또는
pkill -USR1 daemon.pl
:
#!/usr/bin/perl
use strict;
use warnings;
use Proc::Daemon;
Proc::Daemon::Init;
my $continue = 1;
################################################################################
# Exit on SIGTERM
################################################################################
$SIG{TERM} = sub { $continue = 0 };
################################################################################
# Re-read config file on SIGHUP
################################################################################
$SIG{HUP} = sub {
# Re-read some config file - probably using same sub that we used at startup
open(my $fh, '>', '/tmp/status.txt');
print $fh "Re-read config file\n";
close $fh;
};
################################################################################
# Report remaining time on SIGUSR1
################################################################################
$SIG{USR1} = sub {
# Subtract something from something and report difference
open(my $fh, '>', '/tmp/status.txt');
print $fh "Time remaining = 42\n";
close $fh;
};
################################################################################
# Main loop
################################################################################
while ($continue) {
sleep 1;
}
당신은 다음과 HUP 신호 또는 USR1 신호를 보낼 것이다 밖으로에 대한 /tmp/status.txt
봐 봐 데몬에서 꺼내. 위의 명령은 Perl 스크립트를 으로 저장했다고 가정합니다. 다른 이름을 사용하면 조정하십시오.
또는 시작시 해당 파일에 pid
을 쓰고 pkill
에 -F
옵션을 사용할 수 있습니다.
HTTP 기반으로 만들어서 완전히 새로운 서버를 만들 필요가없는 이유는 무엇입니까? – ikegami
@cocosushiTS : 처음부터 자신 만의 서버를 만들거나 기존 모듈을 사용하여 HTTP 서버를 만들 수 있습니다. – Borodin
@cocosushiTS : 선택한 모든 프로세스 간 통신을 사용하여 자체 서버를 만들 수 있습니다. 소켓은 한 가지 방법이지만 매우 낮은 수준에서 작동하므로 간단한 프로토콜을 설계해야합니다.HTTP 서버를 구현할 수있는 기성품 소프트웨어가 많기 때문에 대부분은 일반 텍스트 인 HTTP 요청에 응답하는 내용을 작성하는 것이 좋습니다. – Borodin