Creation d'un nouveau process sans héritage d'environnement

Creation d'un nouveau process sans héritage d'environnement - Java - Programmation

Marsh Posté le 19-08-2014 à 14:24:27    

Bonjour à tous,  
 
J'essaye de créer dans mon programme Java, un nouveau process.  
Par défaut, les nouveaux Process créés héritent de l'environnement parent, j'aimerai que ce ne soit pas le cas.  
 
J'ai dans mon process Java, tout un tas de variables d'environnement, j'aimerais qu'elles se ne retrouvent pas dans mon Process créé.  
 
J'ai essayé ceci:  

Code :
  1. ProcessBuilder aProcessBuilder = new ProcessBuilder(new String[] { "monScript" }); // CSH / SH / CMD / ... peut importe
  2. aProcessBuilder.environment().clean();


 
Mais, et c'est logique, je clean ma map entièrement et je me retrouve sans les variables "par défaut" (celles que l'on retrouve en créant un nouveau shell/terminal).  
 
Quelqu'un aurait une idée de comment faire?  
 
 
Merci beaucoup!  :jap:


---------------
All work and no play makes Jack a dull boy.
Reply

Marsh Posté le 19-08-2014 à 14:24:27   

Reply

Marsh Posté le 22-08-2014 à 15:16:32    

Si tu as la main sur la machine, préférer les variables système aux variables d'environnement.
Sinon pas le choix, tu fais le tri à la mano ou tu reconstruit une map propre en appelant les variables que tu souhaites conserver.

Reply

Marsh Posté le 26-08-2014 à 14:57:53    

Mais j'ai bel et bien besoin des variables d’environnement.  
 
Je vais essayer d'être plus clair:  
Je lance un shell sous Windows par exemple et je tape "set".... je vois une liste de clés/valeurs.  
 
var1=toto
var2=toto2
 
Mon Java est appelé à travers un script (batch) qui set pas mal de variables (var3, var4 par exemple).  
Une fois mon script appelé et mon java démarré, lorsque je crée un nouveau process et que je liste les variables d'environnement, je me retrouve avec:  
 
var1, var2, var3 et var4.  
 
J'aimerai pouvoir, d'une façon ou d'une autre, retrouver uniquement var1 et var2 avec leurs valeurs par défaut.


Message édité par zumss le 26-08-2014 à 14:58:11

---------------
All work and no play makes Jack a dull boy.
Reply

Marsh Posté le 26-08-2014 à 15:13:23    

T'as pas d'autre choix que de supprimer à la main les variables settées par ton process Java parent (que tu dois connaître).

Reply

Marsh Posté le 26-08-2014 à 15:15:40    

Malheureusement, je ne les connais pas.  :cry:  
Il va falloir que je trouve autre chose, merci pour tes réponses.  :jap:


---------------
All work and no play makes Jack a dull boy.
Reply

Marsh Posté le 26-08-2014 à 15:47:10    

Comment tu peux ne pas les connaître ?
Même si tu n'as pas accès au batch qui lance ton programme Java, t'as juste à faire un diff entre les variables présentes dans ton programme et celles de ton shell :??:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed