【问题标题】:Terminate subprocess in Python在 Python 中终止子进程
【发布时间】:2012-05-26 17:48:33
【问题描述】:

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

【问题讨论】:

  • 你是什么意思 .terminate() 不继续主进程?

标签: python subprocess python-2.7


【解决方案1】:

在主脚本中保留对子项的引用。使用该参考调用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 2018-03-11
    • 1970-01-01
    • 2017-12-08
    • 2011-01-21
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多