0

我有一个包装脚本,里面还有很多其他的测试脚本。在其中一个测试脚本中,我使用 Popen 类创建了一个子进程。问题是我不知道如何终止该子进程并返回主进程并继续下一个测试脚本。我的包装器在具有子进程的测试脚本处停止并且永远不会继续。能给个提示吗?谢谢。PS kill() 或 terminate() 或我认为有用的任何其他功能,不会让我回到主进程。我想终止子进程并继续主进程。

4

1 回答 1

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
于 2012-05-26T17:52:06.737 回答