Python 多线程爬虫如何优雅的退出?

2016-11-14 17:35:58 +08:00
 thekoc

爬虫如果不退出就会一直爬的……但是每次按 ctrl+c 退出的时候似乎都有点问题。爬虫的退出如何正确的实现?

3932 次点击
所在节点    Python
8 条回复
cdwyd
2016-11-14 17:42:42 +08:00
标记下看看有什么好的解决方法没
wellsc
2016-11-14 17:43:37 +08:00
sudo pkill -9 python
loalj
2016-11-14 17:51:44 +08:00
t = threading.Thread()
t.daemon = True
em70
2016-11-14 18:01:53 +08:00
每爬一个数据检测指定目录下指定文件里的值, 1 就忽略, 0 就退出,开另一个窗口用 vi 控制这个文件的值
Thoxvi
2016-11-14 18:17:50 +08:00
看需求吧…生产者爬到阈值丢一个毒丸到队列消费者就没了
stamaimer
2016-11-14 20:26:18 +08:00
不知道为啥不能优雅的退出
ryd994
2016-11-15 16:27:50 +08:00
用 signal 模块,保证信号发到主线程
设置子线程 daemon=True
同时,其他线程捕捉 keyboardinterrput , 然后 interrupt_main https://docs.python.org/2/library/thread.html#thread.interrupt_main
Powered
2016-11-24 15:36:16 +08:00
调度系统…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/320447

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX