in reply to Re^12: how to print out windows service status
in thread how to print out windows service status
If you want to repeat the checks read the list of services into an array.
#!perl use strict; use autodie; use Win32::Service qw'GetServices GetStatus'; my @state_name = qw( UNKNOWN Stopped START_PENDING STOP_PENDING Started CONTINUE_PENDING PAUSE_PENDING PAUSED ERROR ); my $filename = 'XiServiceList.txt'; open FILE, '<', $filename;# autodie my $hostname = <FILE>; chomp $hostname; my @services = <FILE>; close FILE; print "Checking Services available for '$hostname'\n"; my %available=(); GetServices($hostname,\%available) or die "$!"; # add short names $available{$_} = $_ for values %available; for my $n (1..10){ my $t = scalar localtime; print "\nChecking services in list - run $n $t\n"; for (@services){ # trim leading and trailing whitespace s/^\s+|\s+$//g; if (exists $available{$_}){ my $shortname = $available{$_}; my %status; GetStatus($hostname, $shortname, \%status); my $state_no = $status{'CurrentState'}; printf " ServiceStatus: %s %s %s \n", $hostname, $shortname, $state_name[$state_no]; } else { print "-- ERROR -- '$_' status not avaiable\n"; } } sleep 30; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^14: how to print out windows service status
by ytjPerl (Scribe) on Aug 03, 2017 at 18:29 UTC | |
by poj (Abbot) on Aug 03, 2017 at 18:40 UTC | |
by ytjPerl (Scribe) on Aug 03, 2017 at 18:52 UTC | |
by poj (Abbot) on Aug 03, 2017 at 18:59 UTC | |
by ytjPerl (Scribe) on Aug 03, 2017 at 19:17 UTC | |
|