Question [Resolu]surveiller un exe si il crash

Plus d'informations
il y a 11 ans 1 mois #19437 par Arnaud Petitjean

Dis, peut-être que je trouverais la réponse dans le livre que j'ai commandé \"Windows PowerShell - Fonctionnalités avancées\", tu sais si les auteurs en parle ?


C'est possible en effet... Lol ! :laugh:

Pour info, le chapitre 5 est consacré aux \"Travaux en arrière-plan\"... :whistle:

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19441 par xyz
Réponse de xyz sur le sujet Re:surveiller un exe si il crash
Arnaud écrit:

Moi instinctivement j'essaierai de créer un job

La fenêtre de reporting d'erreur reste un pb, on isole juste l'exécution, mais en cas de crash le job reste 'running' tant que la fenêtre de reporting existe.
La fenêtre de reporting d'erreur est un process enfant (nommé 'dw20.exe') du process en cause et est créé par l'OS.
tonic8 écrit:

2/ surveiller la fenetre popup et la killer car le script attend quelle soit fermer pour passer al a boucle suivante
si je fais un start-job je peux lui mettre un timing? chaque tnsping prend entre 8-20s, si je dis au bout de 60s arrete la tache (donc kill du process et des enfants lancé dans le startjob) en retournant une erreur, je peux traiter.

On peut faute de temps prendre cette direction, pas certains que ce soit la bonne.

En cherchant un peu, Disabling Windows Error Reporting(AppCrash) dialog programmatically , mais je n'ai pas réussi un créer un launcher qui résolve ce problème.
Exclure une application du reporting (API WerAddExcludedApplication), pas mieux pour l'instant. Et l'eventwiever ne semble plus renseigné.

Configurer Windows Error Reporting (WER) :
[code:1]HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\ForceQueue = 1[/code:1]
La fenêtre n'est plus affichée. L'eventwiever est tjrs renseigné.

Je pense qu'il faut étudier de plus près cette approche.
Il existe une liste d'exclusion :
[code:1]HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\ExcludedApplications
[/code:1]

Mais pour le moment cela ne donne change rien, ni celle-ci :
[code:1]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList
[/code:1]

Il y a un fenêtre pour le reporting et le debug et une autre pour le debug uniquement.<br><br>Message édité par: Laurent Dardenne, à: 7/04/15 14:20

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19442 par Arnaud Petitjean

Moi instinctivement j'essaierai de créer un job...

La fenêtre de reporting d'erreur reste un pb, on isole juste l'exécution, mais en cas de crash le job reste 'running' tant que la fenêtre de reporting existe.


Oui certes, mais l'avantage d'isoler ainsi l'exécution est que nous sommes capables de savoir depuis combien de temps le job s'exécute. Du coup s'il s'exécute depuis, disons, 5 minutes c'est qu'il est probablement planté. Du coup on peut se dire qu'il faut tuer le job.

Reste maintenant à savoir si en tuant le job, cela tue également la fenêtre de reporting du crash...

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19443 par Arnaud Petitjean

Donc si le tnsping crash, le $LastExitCode devrait etre au mieux à 1 au pire vide...
* comment m'assurer que la valeur du lastexit correspond bien a la sortie de mon tnsping et pas d'une autre commande precedente?


Facile ! Car la variable $LASTEXITCODE ne contient que le code de retour des exécutables Windows, pas des commandelettes PowerShell :P.

Dans l'idéal, il faut tester la valeur de cette variable juste après l'appel à ton exécutable Win32.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19452 par Gabriel
Réponse de Gabriel sur le sujet Re:surveiller un exe si il crash

Facile ! Car la variable $LASTEXITCODE ne contient que le code de retour des exécutables Windows


humm donc cette variable est reinitialisé des qu'on lance un exe (meme si il crash?)

j'ai une crainte, c'est le scenario suivant:
la boucle 1 se passe bien, j'ai un $lastexit qui correspond a ce qui doit etre (0 ou 1, resultat attendu).
je passe à la boucle 2, l'exe crash, si j'ai un $lastexit il va quand meme correspondre au lancement de la boucle 2 ou comme l'exe n'a rien retourné (puisqu'il a crashé) le resultat qu'on a c'est celui de la boucle d'avant...

ca je sais c'est une question de noob :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19453 par Gabriel
Réponse de Gabriel sur le sujet Re:surveiller un exe si il crash

[petite aparté]

en fait j'ai acheter le bouquin surtout pour la partie DSC, (mais je te rassure je regarderais le reste :p

DSC j'en lis beaucoup de choses a droite a gauche mais bon ce sont des articles en general de 2 pages donc pas simple de tout expliquer.

Et je sens que je vais m'amuser comme un petit fou avec ça.

juste pour te dire, j'ai acheter le dernier GNU/Linux Magazine n°181. (et oui je lis aussi \&quot;les autres\&quot;, même si je travailles pas vraiment avec.) il y a un article qui m'a attiré (et c'est pas ce qui m'a fait acheter le journal, c'est l'article sur la compression) donc il y a un article qui m'a intéressé c'est celui sur \&quot;Kunai\&quot; (un outil de service discovery, article et logiciel écrit par Jean Gabes) et j'ai tout de suite pensé que le DSC avec un outil de discovery ce sera l'avenir.

Mais bon j'imagine que coté MS (un truc a la scvvm ou orchestrator) il y a déjà un truc en cours sur le sujet, j'ai juste peur que ce soit centralisé (et donc une usine a gaz connecté à Scom qui est pas léger... lui aussi.), là ou kunai est plutôt décentralisé et plus proche de l'appli que tu met en prod. (et plus léger...)

[/petite aparté]

<br><br>Message édité par: tonic8, à: 8/04/15 09:46

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena