gpt4 book ai didi

python - 如何在后台python中运行子进程

转载 作者:太空狗 更新时间:2023-10-29 20:54:15 24 4
gpt4 key购买 nike

<分区>

我正在用 python 编写一个应用程序,它通过使用 python 子进程调用 shell 脚本来在 java 中启动 JVM。但是,我的问题是,按照我编写的正确方式,JVM 会启动并阻止在它之后发生的其余进程。我需要在调用另一个函数时运行 JVM,并且我需要在进程完成运行后停止 JVM。

Python代码:

process = subprocess.Popen('runJVM.sh', shell=True, stderr=subprocess.STDOUT)
process.wait()

r = Recommender()
r.load()
assert len(sys.argv) > 1, '%d arguments supplied, one needed' %(len(sys.argv)-1)
print "recommendations" + str(r.get_users_recommendation(sys.argv[1:]))

....
def get_users_recommendation(self, user_list):
j_id_list = ListConverter().convert(class_list, self.gateway._gateway_client)
recs = self.gateway.entry_point.recommend(j_id_list)
return recs

地点:

 from py4j.java_gateway import JavaGateway
self.gateway = JavaGateway()

我无法让 get_user_recommendations 运行,因为 JVM 服务器正在阻止该进程。我如何不让它阻塞 Python 脚本的其余部分,然后在 python 方法完成运行并返回一个值后将其杀死?非常感谢。

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