#!/usr/bin/perl use POSIX qw(setsid); chdir '/' or die "cannot change to /:$!"; open STDIN,'/dev/null' or die "cannot read stdin:$!"; #open STDOUT ,'>>/dev/null' or die "cannot write to stdout:$!"; open STDERR ,'>>/dev/null' or die "cannot write to stderr:$!"; defined(my $pid=fork) or die "cannot fork process:$!"; exit if $pid; setsid; umask 0; while(1) { #system("perl Test.pl") or die "Can't exec: $!\n"; ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime(); if ($hour < 19) { $waitSeconds = (19-$hour) * 3600 - 60 * $minute - $second; } $date = `date`; print "The date is $date \n"; print "The number of seconds $waitSeconds\n"; sleep($waitSeconds); &loadData; }