bonjour,
Je met en place une plateforme de supervision et je dois programmer un "Host" pour voir l'état de 2 matériels (PING), à chaque Ping envoyer sur l'équipement un fichier se met à jour en notant la référence du Packet Loss, alors j'ai créer un fichier "script.sh" qui récupère les valeurs des Packet Loss de mes deux équipements et fait de calcul en fonction de l'importance (50% et 80%), à la fin de mon script sh je me retrouve avec une valeur numérique (je ne peut pas retourner un entier car cela fausserait le résultat).
Ensuite pour pouvoir effectuer mes conditions en fonction des marges ( vert jusqu'à 50%, orange de 50% jusqu'à 80% et rouge à 80%) j'ai créer un script en C qui exécute ce script sh :
double sonde = WEXITSTATUS(system("/root/Downloads/test/./script.sh"));
Puis quand je fait :
printf("%f\n", sonde);
Il me retourne la valeur 0.000000...
Je pence que soit mon script shell ne retourne pas la valeur numérique, soit il y a une erreur dans le script C...
Auriez-vous une idée ?![]()
Partager