#! /usr/bin/perl use strict ; use warnings ; package Probe::Kill_0 ; use base 'Probe' ; # arlogd_server spin kill_0 /var/run/arlogd/server.pid # arlogd_client spin kill_0 /var/run/arlogd/client.pid sub ITEMS { [ # { name => 'arlogd_server' # , kind => 'spin' # , args => [ '/var/run/arlogd/server.pid' ] # } # , # { name => 'arlogd_client' # , kind => 'spin' # , args => [ '/var/run/arlogd/client.pid' ] # } ] ; } ; sub main { my $self = shift ; my $itms = shift ; # items to probe : [ item, ... ] my $clnt = shift ; # main::CLIENT for my $item ( @$itms ) { my $pidf = $item -> args -> [ 0 ] ; OBB::TT ( " using pidfile %s", $pidf ) ; my $val = Dmon::SPIN_DO ; my $line = '' ; if ( open PIDF, '<', $pidf ) { $line = ; close PIDF ; } chomp $line ; $val = Dmon::SPIN_UP if $line and kill 0, $line ; OBB::TT ( 'line %s', $line ) ; OBB::TT ( 'val %s', $val ) ; $item -> set_val ( $val ) ; } } 1 ;