我尝试使用 PyTorch 设置 AI。当我从控制台调用脚本时,一切都很好。但是当我在 Java `ProcessBuildera 中调用脚本时,它将完成但永远不会终止......
这是 ProcessBuilder 代码
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
退出。或者调用 ProcessBuilder
的 inheritIO()
。
然后waitFor()
该过程。
这里有一些 sample code显示这些步骤。
关于java - 从 Java 调用时 Python 进程永远不会完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879006/