gpt4 book ai didi

Java进程立即退出

转载 作者:行者123 更新时间:2023-12-01 09:44:02 25 4
gpt4 key购买 nike

我正在创建一个流程,如下所示:

Process p = Runtime.getRuntime().exec("nohup /usr/bin/python " + filePath + " &");
Process q = Runtime.getRuntime().exec("/usr/bin/python -m -webbrowser " + url);

我正在尝试在后台运行p,以便q可以正常运行。另外,当Java程序结束时,python脚本不再运行。

最佳答案

您运行的命令是nohup,它确实立即退出。 nohup 启动了一个单独的 Python 进程,但这不是 p 控制的进程。

如果这不是您想要的功能,为什么要使用 nohup& ?如果您只想执行 Python 子进程,只需调用:

Process p = Runtime.getRuntime().exec("/usr/bin/python " + filePath);
<小时/>

请注意,使用 exec 的重载也更安全。它需要一个数组,因此您不必自己进行字符串连接(从而避免某种类型的安全漏洞)。语法略有变化:

Process p = Runtime.getRuntime().exec(new String[]{"/usr/bin/python", filePath});

或者使用 ProcessBuilder :

Process p = new ProcessBuilder("/usr/bin/python", filePath).start();

关于Java进程立即退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com