Bonjour à tous,
Je vais essayer d'être aussi clair que possible. J'ai un soucis de lancement de programme externe.
Voici le contexte :
Mon application principale (appelons la A), codée en Java, doit rester active sur tous les postes utilisateurs.
Mais il arrive parfois que certains s'amusent à terminer le processus ou l’exécution de certains patchs logiciels stoppent tous les processus Java et donc mon programme.
Bref, j'ai besoin d'un petit programme, codé autrement qu'en Java, qui me relance A si il est stoppé.
J'ai fait un petit programme de surveillance en C++ (appelons le B) qui lance bien A si il est stoppé (je vérifie un fichier lock toutes les 30 secondes je crois).
Pris séparément, aucun problème mais ensemble, ça ne fonctionne pas : A lance B mais quand A se termine, B se fait stopper aussi.
Il s'agît surement d'un problème proche de celui des threads : B est un fils de A, il est donc lié à celui-ci....
Existe-t-il un moyen pour faire que B soit lancé par A mais ne soit pas lié à ce dernier?
Pour info, j'ai réussi à faire ça mais en lançant un autre jar avec Runtime.getRuntime().exec(args). Les argumenst étaient "cmd.exe /c java -jar monjar.jar".
La même méthode avec un exe ne fonctionne pas.
Partager