|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : dr@citynet.kz 2:5083/21.21 08 Jun 2001 09:46:56 To : All Subject : демон -------------------------------------------------------------------------------- .RFC-Distribution: fido .RFC-Message-ID: <9fphrg$ofo$1@dr.citynet.kz> .RFC-NNTP-Posting-Host: localhost .RFC-X-Trace: dr.citynet.kz 991972016 25080 127.0.0.1 (8 Jun 2001 03:46:56 GMT) .RFC-X-Complaints-To: news@dr.citynet.kz .RFC-NNTP-Posting-Date: 8 Jun 2001 03:46:56 GMT Reply-To: dr@citynet.kz господа, подскажите почему сей кусочек кода работает неккоректно (не пишется лог-файл), либо отправьте куда-нибуль читать про написание демонов. ################################################################################ ###### #!/usr/bin/perl use POSIX qw(setsid); sub daemon_init; sub sig_handler; sub get_time; $logfile = '>/var/log/billingd.log'; ################################ # Main program code starts here # daemon_init(); open (LOGFILE, $logfile) || die "Error opening $logile! $!\n"; ($date, $time) = get_time(time); #print "$date $time\n"; print LOGFILE "$date $time billingd sucessfully started\n"; until ($time_to_die) { sleep(1); print LOGFILE "running!\n"; } print LOGFILE "$date $time billingd killed\n"; close (LOGFILE) || die "Error closing $logfile! $!\n"; sub daemon_init { # fork and wait for parent exit $pid = fork; exit if $pid; die "Fork error! $!" unless defined($pid); # dissociate from the controlling terminal setsid(); # set signal handler $SIG{INT} = $SIG{TERM} = $SIG{HUP} = \&sig_handler; } sub sig_handler { $time_to_die = 1; } sub get_time { (my $sec,my $min,my $hour,my $mday, my $mon,my $year,my $wday,my $yday,my $isdst) = localtime($_[0]); $year += 1900; $mon += 1; $sec = "0$sec" if (length($sec) < 2); $min = "0$min" if (length($min) < 2); $hour = "0$hour" if (length($hour) < 2); $mday = "0$mday" if (length($mday) < 2); $mon = "0$mon" if (length($month) < 2); $year = "0$year" if (length($year) < 2); return "$year-$mon-$mday", "$hour:$min:$sec"; } ################################################################################ ####### зыж может кто-нибудь поможет чуть-чуть подправить get_time, чтоб оно выглядело более элегантно. чувствую, что можно сделеть на регекспах, но не знаю как реализовать условие 'меньше чем' -- ... WBR, Roman Hlynovski (dr@citynet.kz) --- tin/1.5.8-20010221 ("Blue Water") (UNIX) (Linux/2.4.5 (i686)) * Origin: A poorly-installed InterNetNews site (2:5083/21.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/795221dc2ddd.html, оценка из 5, голосов 10
|