在进程运行Java 7时运行并处理while循环

时间:2017-12-06 19:17:18

标签: java process

我有一个C程序向java程序发送消息(通过MQ)java程序运行另一个程序并将状态消息发送回C程序正在运行的其他程序。该程序工作,并完全符合我的要求。但是,我已经把所有这些都移到了运行Java 7的新服务器上(现在升级java版本不是一个选项)而且我很快发现我使用的isAlive()方法并非如此。在Java 7中可用于Process类,它仅在Java 8中提供。如何重写此代码以使用Java 7

try {
   Process p = null;
                        p = run.exec(prog, env, new File(config.getProperty("ROOTDIR")));
                } catch (IOException e) {
                        PCHLog.log(new RCReply("C5014", e));
                }
                String dsp = " \\";

                while(p.isAlive()){
                        Messenger.sendMessage(message + dsp, reply2q);
                        if (dsp.equals(" \\")){
                                dsp = " /";
                        }
                        else {
                                dsp = " \\";
                        }
                        Thread.sleep(1000);
                }

1 个答案:

答案 0 :(得分:0)

在这个question中,你会发现一个有趣的解决方案。实质上,您要求 def translate(self, new_center): return self.__class__(new_center) 检查过程是否仍然存在。

exitValue()