Lancer programme en arrière plan

Résolu
jo-style94 Messages postés 30 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 17 juin 2015 - 15 juin 2015 à 13:35
jo-style94 Messages postés 30 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 17 juin 2015 - 17 juin 2015 à 09:29
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

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
16 juin 2015 à 07:43
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 ?

1
jo-style94 Messages postés 30 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 17 juin 2015
17 juin 2015 à 09:29
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 ;)
0
Rejoignez-nous