0
我试图启动一个java进程,这意味着需要很长时间,使用python的subprocess
模块。使用子进程模块启动长时间运行的进程
我实际上在做的是使用multiprocessing
模块启动一个新的进程,并使用该进程,使用subprocess
模块运行java -jar
。
这工作正常,但是当我启动新进程时,java进程会替换运行python Process
的python进程。我希望java
作为子进程运行,当启动新进程multiprocessing.Process
的进程死亡时,运行java
的进程也将死亡。
这可能吗?
谢谢。
编辑:这里的一些代码来澄清我的问题:
def run_task():
pargs = ["java -jar app.jar"]
p = Popen(pargs)
p.communicate()[0]
return p
while(True):
a = a_blocking_call()
process = Process(target=run_task)
process.start()
if not a:
break
我想在运行run_task
与运行java
当执行while循环过程中到达break
线的过程中一起被杀害的过程。这可能吗?
也许我误解了这个问题,但为什么你需要的`multiprocessing`模块?您可以单独使用`subprocess`函数启动子进程。 – Philipp 2011-01-24 13:15:44