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
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();
        }}
 
   ....
 
}
 
}
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,
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