Ok thanks, for the advise, 2 questions - what did i do wrong in my
original code, cause it's based on a working example, and is IO::File
included in the default perl package ? is this script has to go on an
embedded device with as min dependencies as possible ?



Many Thanks

On 7/20/07, Chas Owens <[EMAIL PROTECTED]> wrote:
On 7/20/07, Gregory Machin <[EMAIL PROTECTED]> wrote:
> Hi
> I have a script that i'm working on, I want it to write info to a log
> file, but I can't get it to write to  the file.. I run the script as
> root, and I also chmod 0777 the file but still no out put ...
> what have it missed ..
snip

Simplify, simplify, simplify.


#!/usr/bin/perl

use strict;
use warnings;
use IO::File;

my $wait     = 10;
my $logfile  = "/var/log/ifwatch";
my $continue = 1;

open my $log, ">>", $logfile
        or die "could not open $logfile:$!";

$log->autoflush(1);

#### process handeling kill and restart call
$SIG{INT} = $SIG{TERM} = sub {
  print $log localtime() . " Exiting...\n";
  $continue = 0;
};

$SIG{HUP} = sub {
  print $log localtime() . " Restarting...\n";
  exec ($0, @ARGV) or die "Could not restart: $!\n";
};

open STDIN, "<", "/dev/null"
        or die  "could not redirect stdin: $!";

print $log localtime() . " ifwatch starting\n";
while ($continue) {
        #do stuff
        print $log localtime() . " sleeping\n";
        sleep $wait;
}
print $log localtime() . " ifwatch exiting\n";



--
Gregory Machin
[EMAIL PROTECTED]
www.linuxpro.co.za

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to