尝试使用更多类似…
Runtime.getRuntime().exec("python "+cmd + py + ".py");代替。每个
exec都是它自己的过程,并且多个
exec彼此之间没有关系…
您还应该考虑
ProcessBuilder改用,因为这为您提供了很高的可配置性,例如,您可以更改执行路径上下文…
ProcessBuilder pb = new ProcessBuilder("python", py + ".py");pb.directory(new File(cmd));pb.redirectError();//...Process p = pb.start();另外,请注意,Python的输出流有问题,这可能会阻止Java读取它,直到完全完成为止……
有关更多详细信息,请看一下Java:是否可以运行系统命令并在执行过程中打印输出?
同样,确保
python在外壳程序的搜索路径内,否则,您还需要指定命令的完整路径



