TheAdminBay

Простой демон на perl


#!/usr/bin/perl -w

use strict;
use JSON;
use DBI;
use POSIX qw(setsid);

chdir '/';
umask 0;

my $daemon_log = "/tmp/daemon.log";

open STDIN,'/dev/null' or die "Can't read /dev/null: $!";
open STDOUT,">> $daemon_log" or die "Can't write /dev/null: $!";
open STDERR,">> $daemon_log" or die "Can't write to /dev/null: $!";

print "start daemon\n";

defined( my $pid = fork) or die "Can't fork: $!";
exit if $pid;
POSIX::setsid() or die "Can't start new session";
$0='statdaemon';

`/bin/echo $  > '/var/run/statdaemon.pid'`;


while(){
        print "Cycle daemon\n";
        sleep(5);
}