从 Java 调用时,Python 进程永远不会完成



我尝试使用PyTorch设置AI。当我从控制台调用我的脚本时,一切都很好。但是当我在 Java 'ProcessBuildera 中调用脚本时,它会完成但永远不会终止......

这是进程生成器代码

String[] cmd = {"python3", "-i" , "AI/Home-System.py",
data.getName().replace(".csv", ""),
"true",
"false"};
ProcessBuilder pb = new ProcessBuilder(cmd);
Process p = pb.start();

希望你能帮助我

编辑:

我找到了另一种解决方案。我在 linux 屏幕中调用此脚本

String[] cmd = {"screen", "-dmS", "AI-" + device,
"python3", "AI/Home-System.py",
data.getName().replace(".csv", ""),
"true",
"false"};
Runtime.getRuntime().exec(cmd);

读取进程的输出流,因为此流的末尾允许ProcessBuilder退出。或者称ProcessBuilderinheritIO()

然后waitFor()该过程。

下面是一些显示这些步骤的示例代码。

最新更新