Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从Java调用时,Python进程永远不会结束_Java_Python_Python 3.x_Pytorch - Fatal编程技术网

当从Java调用时,Python进程永远不会结束

当从Java调用时,Python进程永远不会结束,java,python,python-3.x,pytorch,Java,Python,Python 3.x,Pytorch,我试着用PyTorch建立一个人工智能。当我从控制台调用脚本时,一切都很好。但是当我在Java`ProcessBuildera中调用脚本时,它将完成但永远不会终止 以下是ProcessBuilder代码 String[] cmd = {"python3", "-i" , "AI/Home-System.py", data.getName().replace(".csv", ""), "true", "

我试着用PyTorch建立一个人工智能。当我从控制台调用脚本时,一切都很好。但是当我在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()

下面是一些演示这些步骤的示例