我有一个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);
}
答案 0 :(得分:0)
在这个question中,你会发现一个有趣的解决方案。实质上,您要求 def translate(self, new_center):
return self.__class__(new_center)
检查过程是否仍然存在。
exitValue()