我试图用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/