Question
[Resolu]surveiller un exe si il crash
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
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 !
Pour info, le chapitre 5 est consacré aux \"Travaux en arrière-plan\"...
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.
- xyz
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 69
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.Moi instinctivement j'essaierai de créer un job
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:
On peut faute de temps prendre cette direction, pas certains que ce soit la bonne.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.
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.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
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.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
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
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.
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
- Messages : 248
- Remerciements reçus 1
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.
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
- Messages : 248
- Remerciements reçus 1
en fait j'ai acheter le bouquin surtout pour la partie DSC, (mais je te rassure je regarderais le reste[petite aparté]
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 \"les autres\", 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 \"Kunai\" (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...)
<br><br>Message édité par: tonic8, à: 8/04/15 09:46[/petite aparté]
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Resolu]surveiller un exe si il crash