Dru has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks,
I'm trying to monitor a service on Win2k and I wrote the following script based on this node Simple WIN32 Service Test.
No matter what I do, I can't get the service to stop. I'm using PGPService just for testing. I'm actually going to be monitoring PCAnywhere's service. Anyway, does anyone know why this is not working?
Thanks,
Dru
I'm trying to monitor a service on Win2k and I wrote the following script based on this node Simple WIN32 Service Test.
No matter what I do, I can't get the service to stop. I'm using PGPService just for testing. I'm actually going to be monitoring PCAnywhere's service. Anyway, does anyone know why this is not working?
Which keeps producing PGPService is currently running.use strict; use warnings; use Win32::Service; #set up a hash of known service states my %statcodeHash = ( '1' => 'stopped.', '2' => 'start pending.', '3' => 'stop pending.', '4' => 'running.', '5' => 'continue pending.', '6' => 'pause pending.', '7' => 'paused.' ); my (%serviceHash,%statusHash); my ($key,$svc); #go get 'em... Win32::Service::GetServices("", \%serviceHash); foreach $key(keys %serviceHash){ my %statusHash; if ($serviceHash{"$key"} eq 'PGPService'){ $svc = $serviceHash{"$key"}; } } Win32::Service::GetStatus("", $svc, \%statusHash); #if ($statusHash{"CurrentState"} =~ /4/){ Win32::Service::StopService('', $svc); #} print "$svc" . " is currently " . $statcodeHash{$statusHash{"CurrentSt +ate"}} . "\n";
Thanks,
Dru
Back to
Seekers of Perl Wisdom