我有一個用Python 2.7編寫的small crawling application,它使用線程來獲取大量URL。但它並沒有完全關閉或對KeyboardInterrupt做出正確響應,儘管我試圖用我在這裏找到的一些建議來解決後一問題。Threaded python應用程序不乾淨關閉
def main():
...
for i in range(NUMTHREADS):
worker = Thread(target=get_malware, args=(malq,dumpdir,))
worker.setDaemon(True)
worker.start()
...
malq.join()
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
sys.exit()
我需要確保它能正常退出時,我按Ctrl-C或當它完成運行,而不必按Ctrl-Z和殺滅工作。
謝謝!
有趣的是,我試圖與Python 2和Python 3中,發現Python 3中不會出現問題。 – icktoofay 2013-02-09 04:00:28
沒有想到這一點......我想知道爲了將它移植到Python3中,我還需要做些什麼。 – 2013-02-09 04:04:28
類似:http://stackoverflow.com/questions/1824418/a-clean-lightweight-alternative-to-pythons-twisted – farzad 2013-02-09 04:43:00