Je me suis fait un script qui arrête un service et qui par la suite fait quelque opération.
Voici mon code:
Code :
$Service = "OracleServiceilnk";
$Host = hostname;
my %hash = (SERVICE_STOPPED, SERVICE_START_PENDING, SERVICE_STOP_PENDING, SERVICE_RUNNING, SERVICE_CONTINUE_RUNNING, SERVICE_PAUSE_PENDING, SERVICE_PAUSED);
my $hashref = \%hash;
#
# Arreter le service
#
$ok = Win32::Service::StopService($Host, $Service);
#
# Assurer que le service est arrete (Attente de 2 minutes)
#
for($t = 0; $t < 12; $t++) {
Win32::Service::GetStatus($Host, $Service, $hashref);
if($hashref == ?????) {
break;
}
sleep(10);
}
Je voudrais que dans la boucle for il vérifie l'état du service si il est arrêter il sort du for et si non il continue le for.
Mon problème est que je ne sais pas comment faire pour savoir l'état du service ? J'ai fait une recherche sur le web et il est écrit que la fonction GetStatus retourne un hash mais comment l'utiliser pour avoir l'état du service ? Je suis débutant en perl.