-
Process en Java
Bonjour a tous,
J'aimerais pouvoir lancer un process sous linux avec la commande Runtime.exec() cepdendant je ne souaihte pas que ce process meurt lorsque je tue le process appelant (genre un GUI). Pour le moment tout marche bien seul chose c que si je quitte mon GUI je tue mon processus, y'a t-il un moyen pour lancer un processus hors du processus appelant ?
j'espere avoir ete claire,
merci
-
Salut,
Sous linux quand on veut détacher un processus de son processus père on fait nohup <ton exécutable>. Je te conseille donc de lancer ton processus en faisant une commande de la forme Runtime.exec("/usr/bin/nohup <ton exécutable>");.
A+
Hydraland
-
Si je te comprends bien, tu voudrais lancer un process indépendant de la machine virtuelle en cours, c'est ça ?
Je n'ai pas vu de moyen via getRuntime(). Il y aurait bien une bidouille du style lancer la commande "java tonAppli testParametres"; pour lancer une autre machine virtuelle (à tester), mais bon, c'est pas clean...
A+
-
Tout d'abord merci de vos reponses,
hydraland: meme en utilisant /usr/bin/nohup lorsque je kill mon appli mon process est tue aussi ...
OButterlin: c bien ca ... en gros j'ai des process (ecrit en c++) qui prenne bcp bcp de temps et je vouderais avoir la possibilite a tout moment de regarder des resultats ... mais l'utilisateur (qui sera un utilisateur landa) peut avoir a fermer l'appli mais ca doit ps toucher le process ...
merci :)
-
Le problème c'est de récupérer un lien avec le process.
En J2EE, je mettrais l'objet process renvoyé par getRuntime().exec(...) dans un context serveur sous un nom reconstituable, et lorsque l'utilisateur se (re)connecte, on peut lui présenter la sortie du process.
Une piste peut-être ?
A+
-
well je pense que je vais me tourner vers ca ... faire un webservice qui prend les requetes d'executions et un GUI independant capable de se connecter aux resultats. Ca te parrait propres ??
-
Tout à fait propre, super green :mouarf:
-