-1
매개 변수가 필요한 스크립트 bash가 있습니다.jash에서 호출 할 때 bash 스크립트가 작동하지 않습니다.
내가 퍼티에서 직접 호출 할 때, 그것은 작동합니다, 암탉은 제 jee 프로그램에서 작동하지 않습니다. 그리고 어떤 오류도 보여주지 않습니다.
String[] cmdArray = {"sudo", "ssh", "-tt", "[email protected]", "/root/dve", "-l", "89.40.112.120,89.40.112.248", "you.mp4", "-s",".teeeest.avi" };
List<ObjectNode> listFileNode = new ArrayList<ObjectNode>();
try{
Runtime rt = Runtime.getRuntime();
ProcessBuilder pb = new ProcessBuilder(cmdArray);
Process proc = pb.start(); // Start the process.
System.out.println("Script executing");
rc= proc.waitFor(); // Wait for the process to finish.
System.out.printf("Script executed successfully in ", rc);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<ERROR___EXEC>");
while ((line = br.readLine()) != null){
System.out.println(line);
node.put("line",line);
listFileNode.add(node);
}
System.out.println("</ERROR___EXEC>");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
InputStream processInputStream =proc.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(processInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
System.out.println("<RESULTAT___EXEC>");
while ((line = bufferedReader.readLine()) != null){
System.out.println(line);
node.put("lineR",line);
listFileNode.add(node);
}
System.out.println("</RESULTAT___EXEC>");
}catch (Throwable t)
{
t.printStackTrace();
}
내가 일주일에서이 붙어입니다 좀 도와주세요 그리고 난 당신은 자바 코드에서 sudo
명령을 사용할 수 없습니다
문제를 재현하는 데 필요한 코드 만 있으면 충분합니다. – sjsam
안녕하세요, 자바 코드를 넣어 내 봄 컨트롤러 및 스크립트를 실행할 수 있습니다 여기에 : https://github.com/nergdron/dve –