URGENT : LANCER UN PROCESSUS WINDOWS QUI S'EST ARRETE

Résolu
dark_muse Messages postés 2 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 2 mai 2005 - 29 avril 2005 à 12:19
nicowana Messages postés 19 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 6 septembre 2005 - 20 juil. 2005 à 12:03
Bonjour à tous !!
Je suis encore débutante en vb mais y'a un début à tout hein !!

Alors voilà. Je voudrai trouver quelque chose qui me relance un processus lorsqu'il s'arrête. J'ai trouvé un script de michelc qui envoi tout les process en cours dans un fichier log et qui se met à jour automatiquement pour voir si un process s'est arrêté. D'ailleurs ce script marche très bien, bravo !!
Seulement il me faudrai une suite : lorsque ce script s'execute, il met à jour la liste en vérifiant si le process s'est arrêté, et je voudrai kil aille plus loin en faisant kelke choz du style :
"Tel process s'est arrêté, le redémarrer", "tel process s'est aussi arrêté, le redémarrer"....

HEPL ME !! En plus c'est mon responsable qui me demande ca. Aidez moi, une bonne appréciation pour l'obtention de mon diplome est en jeu!!

3 réponses

jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
29 avril 2005 à 17:45
salut,

Tu etabli la liste des process qui doivent tjs tourner dans un tableau avec en plus le chemin + nom de l'exe associé dans ton tableau (2 dimensions koi).

Tu stockes la liste des process actifs dans un tableau (+ rapide pour croiser les données).

Pour chaque element de ton tableau des process qui devraient tourner tu recherches ce process dans la liste des process actifs. Si un process obligatoire n'est pas trouvé, tu le relances avec un shell <chemin+nom de l'exe>

Exemple ca sera + clair ... j'esperes :-) :

dim strTabProcessOblig(10,1) ' si + de 10 process obligatoires tu adaptes
dim bTrouve as boolean

bTrouve = false

Tableau des process obligatoires :
strTabProcessOblig(0,0)="Notepad"
strTabProcessOblig(0,1)="Notepad.exe"

strTabProcessOblig(1,0)="Microsoft Excel"
strTabProcessOblig(1,1)="c:\program files\ ........\Excel.exe"

strTabProcessOblig(2,0)="Toto"
strTabProcessOblig(2,1)="c:\toto\toto.exe"

redim strTabProcessOblig(2,1) ' pour cet exemple, tu adaptes a la taille necessaire

Tableau des process actifs recuperés depuis ton fichier texte
- Notepad
- Toto
Mis dans un tableau (ex: strTabProcessActifs()) à 1 dimension

for i=0 to ubound(strTabProcessOblig(),1)
for j=0 to ubound(strTabProcessActifs())
if strTabProcessOblig(i,0) = strTabProcessActifs(j) then
bTrouve = true
exit for
end if
next j
if bTrouve=false then 'pas trouve donc on le relance !
shell strTabProcessOblig(i,1) ' voir le 2e param de shell pour le faire tourner en minimize
endif
bTrouve=false
next i

Un truc dans ce style devrait marcher pour relancer des EXE par contre si c'est des process windows style DLL ou autre, ca marchera pas ... là je ne sais pas faire !

A+

Christophe.

Ps: j'ai pas testé ... c'est fait à la volée comme code ... donc si ca marche pas dis le moi je testerais de mon coté ...

A++
3
dark_muse Messages postés 2 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 2 mai 2005
2 mai 2005 à 16:43
Ok merci!! je test ca et je te dis koi ! Comme je débute ce sera peut être long :-p
En tout cas merci!!
0
nicowana Messages postés 19 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 6 septembre 2005
20 juil. 2005 à 12:03
bonjour,

Peux tu me donner le script de michelc qui envoi tout les process en cours dans un
fichier log et qui se met à jour automatiquement pour voir si un
process s'est arrêté.

merci
0
Rejoignez-nous