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