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

Простой деман написанный на Perl.

#!/usr/bin/perl -w

use strict;
use POSIX qw(setsid);

chdir '/'; # Меняем текущий каталог

umask 0;   # Устанавливаем umask

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(){

        # Код выполняемый демоном
        sleep(5); # Таймаут ожидания
}