Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Sindarovskij Roman                   2:5020/400     16 Aug 2004  17:27:05
 To : All
 Subject : daemon on perl
 -------------------------------------------------------------------------------- 
 
 Hi All!
 
 Пишу демон на перле.
 #!/usr/bin/perl
 use strict;
 use IO::File;
 use POSIX 'setsid';
 use constant PID_FILE => '/tmp/daemon.pid';
 use constant LOG_FILE => '/tmp/daemon.log';
 $SIG{TERM} = $SIG{INT} = sub { exit 0; };
 my $fh = open_pid_file(PID_FILE);
 my $pid = daemon();
 print "$pid\n";
 print $fh $pid;
 close($fh);
 while (1) {
    print "1";
    sleep 5;
 };
 sub open_pid_file {
    my $file = $_[0];
    return IO::File->new($file, O_WRONLY|O_CREAT|O_EXCL, 0644)
       or die "Can not create $file: $!\n";
 };
 sub daemon {
    setsid();
    open(STDIN, "</dev/null");
    open(STDOUT, ">".LOG_FILE);
    open(STERR, ">&STDOUT");
    STDOUT->autoflush(1);
    chdir('/');
    umask(0);
    $ENV{PATH} = '/bin:/sbin:/usr/bin:/usr/sbin';
    return $$;
 };
 END { unlink PID_FILE; };
 Hо, или я плохо читал доку, или чего-то не понимаю. Дескрипторы
 переопределяются, вывод уходит в лог, пид-файл создается/уничтожается,
 но скрипт в фоновый режим не уходит. Можно запустить daemon.pl & и все
 получится, но хотелось бы без этого.
 Что я забыл сделать?
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 daemon on perl   Sindarovskij Roman   16 Aug 2004 17:27:05 
 Re: daemon on perl   Alexander Timoshenko   16 Aug 2004 17:34:10 
 Re: daemon on perl   Sindarovskij Roman   16 Aug 2004 18:39:31 
 Re: daemon on perl   Vickenty Fesunov   16 Aug 2004 19:20:09 
 Re: daemon on perl   Artem Chuprina   17 Aug 2004 14:48:52 
Архивное /ru.perl/13276b444ade4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional