1
Q
停止第三方功能
A
回答
1
在單線程信號不在Windows上運行(即任何Unix風格),您可以使用signal.alarm。
檢查第一個例子中的文件 - 它是多還是少,你問什麼: https://docs.python.org/2/library/signal.html
1
一旦有人需要這個這裏是它的代碼示例工作(需要注意的一點signal.signal
可只能從主線程)呼籲:
#!/usr/bin/python
import time
import signal
import threading
class MyException(Exception):
pass
class FooRunner(object):
def goo(self, foo):
try:
signal.signal(signal.SIGALRM, self.on_stop_signal)
foo()
except MyException:
print('caugt alarm exception')
def on_stop_signal(self, *args):
print('alarm triggered')
raise MyException()
def sample_foo():
time.sleep(30)
def stop_it():
signal.alarm(3)
print('alarm was set for 3 seconds')
if __name__ == "__main__":
print('starting')
fr = FooRunner()
t = threading.Thread(target=stop_it)
t.start()
fr.goo(sample_foo)
感謝@jsbueno
相關問題
- 1. 停止重疊第三格
- 2. 可能停靠第三方程序?
- 3. 停止功能
- 4. 停止功能
- 5. jQuery - 停止功能
- 6. 停止詞功能
- 7. 如果第三方Cookie被阻止,是否可以'假裝'一個網站是第三方來測試功能?
- 8. XMLHttpRequest Post方法 - 標題停止功能
- 9. SoundPool停止功能不停止
- 10. Javascript功能停止其他功能
- 11. 停止主要功能?
- 12. 如何停止功能?
- 13. 如何停止功能
- 14. jQuery的 - 與停止功能
- 15. 停止使用Javascript功能
- 16. 單擊時停止功能
- 17. 停止wx.CallLater循環功能
- 18. 如何停止功能?
- 19. 停止運行功能
- 20. jquery停止滾動功能
- 21. Rails停止執行功能
- 22. 停止功能,jQuery的
- 23. 停止增加LAG功能
- 24. AS3 - 如何停止功能?
- 25. sec sec後停止功能
- 26. 按時停止while功能
- 27. 單擊()後功能停止
- 28. 如何停止jquery功能
- 29. HTML5音頻停止功能
- 30. Ajax的停止功能
不要我需要的'foo'功能收聽該報警信號? –
不,你自己創建一個處理程序 - 因爲你有一個類,只是創建一個處理程序方法(它應該接受除self之外的兩個位置參數),並且以前調用'foo',將警報處理程序設置爲'self.handler'帶有一個像'signal.signal(signal.SIGALRM,self.handler)'這樣的調用,在它的主體上引發一個特殊的異常,並捕捉到'goo'。 – jsbueno
非常感謝!添加在我使用的測試代碼下面 - 它的功能就像一個魅力。 –