J'ai écrit un code SSH dans les serveurs et exécute un fichier Java avec des arguments.Impossible d'exécuter ma commande après SSH dans le serveur distant
Le problème auquel je fais face est que le code réussit SSH en mais il n'exécute pas la commande après cela. Étrangement Si je cours la commande du serveur seul cela fonctionne. Des suggestions sur ce s'il vous plaît? Voici le code:
public void getSSH(String code, String newCode, JspWriter out){
try{
File f = new File("/usr/site/html/Output.txt");
BufferedWriter output = new BufferedWriter(new FileWriter(f));
String Servers[] = {"[email protected]","[email protected]","[email protected]","[email protected]"};
for(int i =0;i<Servers.length && i<1 ;i++){
Process p = Runtime.getRuntime().exec("/usr/site/swapimages.sh "+Servers[i]+" '/root/testRemote.sh "+ code+" "+ newCode+"'");
out.println("/usr/site/swapimages.sh "+Servers[i]+" '/root/testRemote.sh "+ code+" "+ newCode+"'"+"<br>");
Utils.waitFor(10000);
}
}
}
J'ai aussi recommandé JSch mais n'ont pas examiné encore.
exécute-t-il la commande après la fin de la session SSH? – trutheality
Il n'y a qu'un seul ... exec() là-bas, donc je m'attendrais seulement à ce qu'il exécute une commande (... swapimages.sh). Vous attendiez-vous à ce qu'il exécute également testRemote.sh dans ce même single ... exec()? Peut-être qu'il me manque quelque chose, mais vous n'avez pas besoin d'une seconde ... exec() pour testRemote.sh? – Straff
Oui, je cours le testRemote.sh dans la même commande exec mais cela a fonctionné quand je l'ai juste couru sur le serveur .. – uppaljaskaran