场景
我在java代码中执行指定的命令,好比执行python aaa.py.
然后我aaa.py是个python脚本,我在脚本里面执行os.system()方法,就是在python里面执行linux命令.
情况
然后是在aaa.py里面启动一个监听,但是,每次启动尽管是后台执行,但是java这边一直获取不到返回值,但是执行已经结束了.前端页面就会卡死.
解决
使用如下命令
在python脚本里面执行 os.system()方法的时候,记得异步启动,且将输入到空文件,一开始我没有指定文件,也不行,会默认输入到nohup.out文件,不知道为啥还会阻塞.
nohup java -jar xxx.jar >/dev/null 2>&1 &
本文介绍了解决在Java代码中调用Python脚本并执行Linux命令时遇到的问题。具体情况下,当Python脚本启动监听并在后台执行时,Java端无法立即获取返回值,导致前端页面卡顿。解决方案涉及在Python脚本中使用nohup命令异步启动Java进程,并将输出重定向至/dev/null。
377

被折叠的 条评论
为什么被折叠?



