繁体   English   中英

在Python中终止子流程

[英]Terminate subprocess in Python

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM