un programme qui en lance un autre quand le premier s'arrete ? - Logiciels - Windows & Software
Marsh Posté le 20-06-2003 à 22:45:32
Heu.. un script non ? tu lance un programme, puis un deuxieme,
puis un troisieme etc... donc peut etre avec un .bat ?
Sinon il faudrait preciser le besoin la... parce que c'est bizarre ton truc
Marsh Posté le 21-06-2003 à 00:11:43
Bon j'explique tout :
J'ai un executable qui appelle un autre programme, le configure et se ferme.
Le programme configuré lui reste ouvert. Lorsqu'il plante, je voudrais rappeler le programme qui le configure.
En schéma :
Programme 1 > appelle Programme 2 et le configure > Programme 1 une fois terminé sa tache se ferme > Programme 2 reste ouvert et tourne > si Programme 2 crash Programme 1 dois etre rappelé > retour au début de la boucle.
Marsh Posté le 21-06-2003 à 00:17:06
Heu... mais comment tu veux que programme 1 soit appelé ??
par qui ? vu que c'est pas prog2 qui va s'en charger si il a crashé... bref je crois qu'il faudrait que tu sois encore plus
precis sur ce que tu veux faire la...
Sinon ca me fait un peu penser a de la com entre programme
(ou plutot un programme qui en pilote d'autres) et pour ca il
y a un truc genial qui s'appelle Rexx... sur Amiga
Sur pc j'ai jamais vu.. mais ca existe peut etre.
Marsh Posté le 21-06-2003 à 12:11:47
Bah c'est un moniteur de processus que je cherche. Il surveille les processus et si y'en a un ki crash > trigger > lancement d'un script ou d'une commande
Marsh Posté le 21-06-2003 à 12:16:09
Oki, la c'est deja beaucoup plus clair.
Bein ca existe sous unix effectivement sous windows j'ai pas vu.. cela dit c'est quand meme pas terrible comme systeme le
coup de monitorer un processus... mieux vaut corriger les problemes et faire en sorte que le process crash pas...
Marsh Posté le 21-06-2003 à 12:31:51
Je sais bien, mais la dans ma situation c'est pas possible, il me faut vraiment ce moniteur.
J'ai trouvé pour Unix, j'ai trouvé aussi pour OS/2 Warp, mais alors pas pour Windows, c kan meme rageant !
Marsh Posté le 21-06-2003 à 22:55:49
Eventuellement la commande (Dos) CALL dans un fichier batch.
Marsh Posté le 21-06-2003 à 23:23:31
Ben un simple .bat fait l'affaire dans ce cas (si j'ai bien compris.
exemple:
:relance |
Marsh Posté le 22-06-2003 à 00:48:22
oui mais programme1.exe ne dois etre rappelé QUE si programme2.exe meurt.
Marsh Posté le 22-06-2003 à 08:48:30
Calamarpowaaah a écrit : oui mais programme1.exe ne dois etre rappelé QUE si programme2.exe meurt. |
ben c'est le cas:
programme1 est appelé la première fois
et ensuite uniquement si programme2 se termine.
Si mes souvenirs sont exacts (mais c'est facilement vérifiable) dans un .bat, le batch est "en pause" tant que le programme qu'il a lancé n'est pas terminé.
Marsh Posté le 22-06-2003 à 11:20:26
Sous 2000 utilise la commande start avec l'option /W , cette commande attend la fin du processus precedent pour lancer le suivant.
Marsh Posté le 22-06-2003 à 11:41:22
REmarque dans le coup du script avec le goto y a peut etre de l'idee quand meme...
Avec un truc du genre :
|
Ca peut peut etre fonctionner et relancer le process si jamais
il se vautre... bon evidement rien a voir avec un vrai moniteur,
mais en fonction de ton besoin ca peut peut etre depanner...
Sachant que je sais pas du tout si en cas de crash d'un process
il continue d'executer le script dans lequel il etait...
Aucunne idée...
Marsh Posté le 22-06-2003 à 13:17:03
Oui mais la le problème c'est que le programme1.exe interviens sur programme2.exe pour le parametrer.
Donc, les deux programmes se cheuvauchent un cours instant. Ca complique la chose.
D'autant plus que programme1.exe appele de lui meme programme2.exe
Ou alors faudrais bidouiller. J'enleve l'appel du programme2.exe depuis le programme1.exe
Je lance programme1.exe qui dans sont macro a une attente de quelque secondes, j'appelle programme2.exe avec /w et euh apres le goto programme 1 ?
ca pourrais pitet marcher en effet
Marsh Posté le 20-06-2003 à 22:40:53
Je voudrais un programme qui lance un autre programme quand le premier s'arrete.
Basique non ?
Et bien... introuvable.