首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java进程-等待进程退出

Java进程-等待进程退出
EN

Stack Overflow用户
提问于 2018-06-12 23:59:01
回答 1查看 68关注 0票数 0

我试图在我的java程序中使用python脚本。如果在java之外运行,python将启动,然后等待事件,当事件发生时,执行某些操作,打印结果并退出。

当我尝试在Java中使用它时,它不等待事件,而是立即退出,并返回一个空响应。我如何等待脚本退出,从而挂起java程序,直到它退出?

这是我正在测试的方法

代码语言:javascript
复制
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();

    }
EN

回答 1

Stack Overflow用户

发布于 2018-06-13 01:17:30

  • waitFor()绝对应该在read循环之后;
  • 您需要关闭进程的stdin
  • 您需要使用它的所有stdoutstderr.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50821390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档