linux下java调用可执行程序报错
1 String cmd[] = {"/host/1.sh"}; 2 Runtime run = Runtime.getRuntime(); // 返回与当前 Java 应用程序相关的运行时对象 3 try { 4 Process p = run.exec(cmd);// 启动另一个进程来执行命令 5 BufferedInputStream in = new BufferedInputStream(p.getInputStream()); 6 BufferedReader inBr = new BufferedReader(new InputStreamReader(in)); 7 String lineStr; 8 while ((lineStr = inBr.readLine()) != null) 9 //获得命令执行后在控制台的输出信息 10 System.out.println(lineStr);// 打印输出信息 11 //检查命令是否执行失败。 12 if (p.waitFor() != 0) { 13 if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束 14 System.err.println("命令执行失败!"); 15 } 16 inBr.close(); 17 in.close(); 18 } catch (Exception e) { 19 e.printStackTrace(); 20 }
String cmd[] = {"/host/1.sh",“参数1”,“参数2”};也可以
程序出错:
1提示找不到文件,采用作为路径\\host\\1.sh的原因
2运行了后没有反映,将1.sh的内容改为ls -l后显示,应该是1.sh内容有问题
/home/a文件 -f b文件
发现是b文件没有加路径
浙公网安备 33010602011771号