Thread Win32::Service::GetStatus -
(37 answers)
Opened by jan99 at 2015-03-06 10:41
Danke der Nachfrage und guten Tag!
Habe es mir nochmal vorgenommen und es funktioniert wie erwartet. Bei Windows muss man das Script auf jeden Fall in einer Administrator Umgebung starten, weil sonst die Rechte nicht reichen. Und das ist hier auch gegeben, ich nutze das schon viele Jahre ohne Schwierigkeiten. Hier was zum spielen und nachvollziehen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; local $Data::Dumper::Purity = 1; local $Data::Dumper::Useqq = 1; local $Data::Dumper::Deparse = 1; local $Data::Dumper::Sortkeys = sub { my ($hash) = @_; return [(sort {lc $a cmp lc $b} keys %$hash)]; }; $! = (); $@ = ''; require Win32::Service; print "Version: ".Win32::Service->VERSION."\n"; Win32::Service::StartService('','Apache2.4') or do { print "Fehler '".(defined $! ? $! : '-undef-')."' / '" .(defined $@ ? $@ : '-undef-')."'\n"; }; sleep 1; # sonst ist der Status "StartPending" my %sttus; if (Win32::Service::GetStatus('','Apache2.4',\%sttus)) { print "Status:\n".Dumper(\%sttus)."\n"; } else { print "Status nicht abfragbar\n"; } Habe mich wahrscheinlich einfach "vertestet". Eine neue Erkenntnis habe ich auf Windows 10 64 Bit mit Strawberry Perl 5.30.3 und Win32::Service Version 0.07 gewonnen: wenn man auf einen schon laufenden Dienst ein Win32::Service::StartService() loslässt, meldet $! ein No such file or directory. Kann man nutzen oder ignorieren. Danke 10 print "Hallo"
20 goto 10 |