# Redirect STDIN to $NULL
open STDIN, '<', $NULL
or error "Can't read $NULL ($!)", 1;
# Redirect STDIN to $NULL
open STDIN, '<', $NULL
or error "Can't read $NULL ($!)", 1;
# Set process to be session leader
setsid ()
or error "Can't start a new session ($!)", 1;
# Set process to be session leader
setsid ()
or error "Can't start a new session ($!)", 1;
open my $loadAvg, '/proc/loadavg'
or croak "Unable to open /proc/loadavg\n";
open my $loadAvg, '/proc/loadavg'
or croak "Unable to open /proc/loadavg\n";
open $existingPipe, '|-', $to
or error "Unable to open pipe - $!", 1;
open $existingPipe, '|-', $to
or error "Unable to open pipe - $!", 1;
sub RedirectOutput ($$@) {
my ($to, $mode, @output) = @_;
sub RedirectOutput ($$@) {
my ($to, $mode, @output) = @_;
open my $file, '<', $filename
or error "Unable to open $filename ($!)", 1;
open my $file, '<', $filename
or error "Unable to open $filename ($!)", 1;
if ($log and ref $log eq 'Logger') {
$total->{errors} = $log->{errors};
$total->{warnings} = $log->{warnings};
} # if
if ($log and ref $log eq 'Logger') {
$total->{errors} = $log->{errors};
$total->{warnings} = $log->{warnings};
} # if