OVH Cloud OVH Cloud

Détecter une appli Windows en état zombie

12 réponses
Avatar
Patrick \Zener\ BRUNET
Bonjour.

Je fais dans le process sécurisé, et donc j'ai déjà développé un watchdog
logiciel qui surveille un autre process afin de le tuer et relancer s'il se
bloque (je maîtrise mes algos mais pas ce qui se passe dans les librairies
système).

Ca repose évidemment sur un système de heart-beat régulier, mais ce principe
suppose que le process soit conçu en ce sens.

Comment feriez-vous pour surveiller de même une application lambda pour
laquelle ça n'a pas été prévu ?
Il est déjà possible de surveiller son handle de process, ce qui permet de
détecter sa mort éventuelle. Mais si l'application se met dans un état
second, comment le détecter (autrement qu'en essayant de la fermer et en
s'apercevant qu'elle ne répond pas, moi je veux qu'elle reste en
fonctionnement) ?

J'en suis à envisager des choses du style : envoyer périodiquement des
messages de déplacement à sa fenêtre, et vérifier qu'elle obéit, mais c'est
pas évident. Vous voyez plus simple ?

Merci de toute suggestion.

Cordialement,

PZB

2 réponses

1 2
Avatar
Patrick \Zener\ BRUNET
"Arnaud Debaene" a écrit dans le message news:
3f8c26f1$0$4495$

<...>

AMHA il n'y a pas de solution générique pour
tous les types de processus : ta solution ne marche pas par exemple pour


une
application sans GUI.




Voire pour une appli avec GUI (IHM) mais qui a un problème dans un worker
thread...

Il est clair que mon Watchdog au-delà de sa partie générique, va devoir
utiliser des heuristiques liées à l'application à surveiller. J'envisage
notamment de surveiller l'évolution de certains des fichiers qu'elle traite.

Merci,

Cordialement,

PZB
Avatar
Patrick \Zener\ BRUNET
Bonjour.

"Cyrille "cns" Szymanski" a écrit dans le message news:




<...>

C'est pour ça qu'en général il y a un gugus payé pour surveiller le parc


de
machines et s'il n'est pas abilité a effectuer la maintenance lui-même,
dispose d'un téléphone.




Oui, mais, et si le gu²s est irresponsable, ou qu'il s'endort ?
C'est pas du process sécurisé...


> Pourquoi ça planterait alors ? Je te rassure, je fais du 0 error, 0
> warning, je traque toutes les allocations et libérations de
> ressources, et tous les cas d'erreurs plausibles. Mais malheureusement
> on ne maîtrise pas tout dans un logiciel, et notamment tout ce qui se
> passe au niveau des librairies, drivers et autres.

Il y a aussi le mauvais emploi de pilotes/bibliothèques qui cause leur
disfonctionnement.




Merci ;-) J'avais oublié ça dans ma liste d'assurances.
Mais vous savez bien qu'il arrive aussi que la doc soit buggée .

Ca ne vous est jamais arrivé ?
Sans parler des trucs dont même en voulant le faire exprès, on aurait du
mal. Exemple:

Sous Windows 98, changez le label de votre disque système pour qu'il soit
identique au répertoire du système, donc en général "Windows". Ensuite
essayez de voir démarrer une tâche planifiée. Je sais, ça n'a rien à voir,
et personne ne fait jamais rien avec le label d'une unité.
Hilarant, non ?

Cordialement,

PZB
1 2