停止第三方功能

2022-03-07 00:00:00 python signals

问题描述

这是一个复杂项目的一部分,我会试着简化它。

我有一个获取并执行可调用对象的类,该可调用对象可以运行任意时间段。如果我收到要终止的信号(可以使用Signal或我监视的任何其他标志),我希望当场终止可调用对象的执行(当然不退出进程)

class FooRunner(object):
    def goo(self, foo):
        try:
            foo()
         except:
            pass

     def on_stop_signal(self):
            pass

解决方案

对于未在Windows上运行的单线程信号(即任何UNIX版本),您可以为此使用signal.arlarm。

检查文档上的第一个示例-它或多或少符合您的要求: https://docs.python.org/2/library/signal.html

相关文章