Bonjour tout le monde,
j'ai un script qui fait beaucoup de choses, entre autre, il exécute des commandes scp , rsync....etc
je veux exécuter ce script à partir d'un programme java, j'ai utilisé donc runtime, voila une partie de ma classe
quand j'exécute la classe, mon script fonctionne, et bizarrement tout marche parfaitement sauf la partie rsync, sachant que, quand j'exécute mon script à partir d'une invité de commande, il marche,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 public class ExecuteScript { public void ExecuteScript2() { String[] cmd = { "script/bin/sh.exe", "script/script.sh" }; try { Process p = Runtime.getRuntime().exec(cmd); // p.waitFor(); p.getOutputStream().close(); p.getInputStream().close(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream())); String line = ""; Thread.sleep(500); try { while((line = reader.readLine()) != null) { // Traitement du flux d'erreur de l'application si besoin est System.out.println(line); Thread.sleep(500); } } finally { reader.close(); } } catch (Exception e) { e.printStackTrace(); }} .... } }
mais à partir de ma classe java il n'exécute pas la commande RSYNC et il retourne pas non plus une erreur!!!
comment dois-je faire pour résoudre le problème?
merciiiiiiii
Partager