Java进程-等待进程退出
我试图在java程序中使用python脚本。如果python在java之外运行,它会启动,然后等待事件发生,当事件发生时,它会执行一些操作,打印结果并退出 当我尝试在Java中使用它时,它不会等待事件,而是立即退出并返回空响应。如何等待脚本退出,从而挂起java程序直到退出 这就是我正在测试的方法Java进程-等待进程退出,java,Java,我试图在java程序中使用python脚本。如果python在java之外运行,它会启动,然后等待事件发生,当事件发生时,它会执行一些操作,打印结果并退出 当我尝试在Java中使用它时,它不会等待事件,而是立即退出并返回空响应。如何等待脚本退出,从而挂起java程序直到退出 这就是我正在测试的方法 public static String readRFID() throws IOException, InterruptedException { ProcessBuilder p
public static String readRFID() throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder("python", "/home/pi/MFRC522-python/Read.py");
Process p = pb.start();
BufferedReader br=new BufferedReader(
new InputStreamReader(
p.getInputStream()));
p.waitFor();
StringBuilder sb = new StringBuilder();
while(br.readLine() != null) {
sb.append(br.readLine());
}
return sb.toString();
}
肯定应该在读取循环之后李>waitFor()
- 您需要关闭进程的
;及stdin
- 您需要使用所有的
和stdout
stderr
stdout
。