我有一些常規運行的代碼,並且每隔一段時間(如一個月一次)程序似乎掛在某處,我不確定它在哪裏。以編程方式在多線程中退出python腳本
我以爲我會執行[事實證明是不完全]檢查程序已運行多長時間的「快速修復」。我決定使用多線程來調用函數,然後在運行時檢查時間。
例如:
import datetime
import threading
def myfunc():
#Code goes here
t=threading.Thread(target=myfunc)
t.start()
d1=datetime.datetime.utcnow()
while threading.active_count()>1:
if (datetime.datetime.utcnow()-d1).total_seconds()>60:
print 'Exiting!'
raise SystemExit(0)
然而,這不會關閉其他線程(MYFUNC)。
什麼是最好的方式去殺死其他線程?
很有關係:http://stackoverflow.com/q/905189/132382 – pilcrow
如果您想在'SystemExit'提高其他線程立即死亡,讓他們守護線程。 – roippi