use Win32; use Win32::OLE; use Win32::Console qw(); use Win32::Daemon; my $dir = dirname(__FILE__); $cfg = new Config::IniFiles(-file=>"$dir/config.ini"); use Win32::Daemon::Simple Service => 'ProcMon', Name => 'ProcMon', Version => '2.0.9', Info => {display =>  'ProcMon',            description => 'ProcessMonitoring',            user    =>  '', pwd     =>  '',            interactive => 0,}, Params => { # the default parameters Tick => 0, Talkative => 0, Interval => 1, # minutes LogFile => "logfile.log", Description => "My Desc." }, Param_modify => { LogFile => sub {File::Spec->rel2abs($_[0])}, Interval => sub { no warnings;                            my $interval = 0+$_[0];                            die "The interval must be a positive number!\n"                            unless $interval > 0;                            return $interval}, Tick => sub {return ($_[0] ? 1 : 0)},                }, Run_params => {                }; # initialization ServiceLoop(\&LoopPC); #//-->ServiceLoop(\&test); # cleanup $cfg->DESTROY(); undef $cfg; Log("Going down"); exit;