Lancer programme en arrière plan [Résolu]

Signaler
Messages postés
30
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
17 juin 2015
-
Messages postés
30
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
17 juin 2015
-
Bonjour à tous. Je ne savais pas vraiment dans quel section ajouter ce probleme car en effet, mon sujet porte sur du JAVA et du TCL.

Mon problème est le suivant: J'ai un logiciel appelé ScadeSuite (VCS.EXE) dans lequel on peut y ajouter ses propres scripts (TCL exclusivement). Du coup j'ai crée un Scrip TCL et j'ai rajouté un icone dans l'environnement du logiciel. Lorsque je clique sur cette icone, le script TCL correspondant est executé. Le script appelle lui-même mon .JAR, mais du coup ScadeSuite est totalement bloqué. Il est en mode "Ne répond pas" jusqu'a ce que mon .JAR soit terminé. Comme on peut voir ci-dessous, le .JAR est "l'enfant" de VCS.EXE ce qui fait qu'il freeze tant qu'il n'est pas quitté.



Sauriez-vous comment faire pour lancer mon .JAR sans que le processus parent soit bloqué?

Merci d'avance!

2 réponses

Messages postés
5363
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 avril 2021
109
Salut,

Ton problème semble laisser penser que, le Tcl éxécute ton jar dans le main thread bloquant ainsi l'application non java.
Du coup as-tu essayé d'éxécuter ton java:
- en tache de fond (en ajoutant un et '&' à la fin de la ligne de command) ?
- dans un thread ?
- dans un fork ?

histoire de ne plus bloquer le thread principale ?

Messages postés
30
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
17 juin 2015

Salut,
Merci pour le retour!
J'avais essayé le "&" mais en me compliquant la vie...
Avec l'exemple que tu m'as envoyé ça fonctionne nickel!!! (http://stackoverflow.com/questions/13903727/running-shell-commands-in-background-in-a-tcl-proc)

Merci ;)