Простой деман написанный на Perl.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#!/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); # Таймаут ожидания } |