2012-05-26 51 views
0

我有一個包裝腳本,裏面有很多其他的測試腳本。在其中一個測試腳本中,我使用Popen類創建了一個子進程。問題是我不知道如何終止該子進程並返回主進程並繼續執行下一個測試腳本。我的包裝停在具有子進程的測試腳本上,並且永遠不會繼續。你能給一個提示嗎?謝謝。 P.S. kill()或terminate()或其他我認爲有用的函數,不會讓我回到主進程。我想終止子進程並繼續主進程。終止Python中的子流程

+2

你的意思是.terminate()不繼續的主要過程? –

回答

0

在主腳本中保留對孩子的引用。與參考調用terminate()

from subprocess import Popen 

class TestApp(object): 
    app = None 

    def start(self): 
     self.app = Popen(['your command']) 

    def stop(self): 
     self.app.terminate() 

在主腳本:

app1 = TestApp() 
app1.start() 
app2 = TestApp() 
app2.start() 
#do something here 
app1.stop() 
app2.stop() 
#do more here