python - Wie kann die Situation gelöst werden, in der das Betriebssystem das Programm anhält, nachdem es zu lange ausgeführt wurde?
扔个三星炸死你
扔个三星炸死你 2017-06-12 09:22:55
0
2
1024

Ich habe mehrere Python-Crawler-Programme, die kontinuierlich ausgeführt werden müssen, aber jedes Mal reagieren sie nach zwei Tagen nicht mehr. Jedes Mal werden sie bei time.sleep(60) blockiert, aber der Prozess bricht nicht ab, selbst wenn Sie Strg eingeben C in der Konsole können Sie das Programm nicht beenden. Sie können das Beenden nur im Task-Manager erzwingen.

Was ist der Grund dafür? und wie kann man dieses Problem lösen?

Vielen Dank im Voraus, Senioren!

扔个三星炸死你
扔个三星炸死你

Antworte allen(2)
巴扎黑

问题分析建议:

linux: 可以尝试通过strace命令追踪进程状态, 根据输出的内容做分析,或者通过proc对应目录的文件对进程的各项指标做分析! Ctrl-C无效,怀疑进程进入不可中断的睡眠,具体还得看实际获取的数据才有可能知道

windows: 通过任务管理器找到对应的进程, 右键->创建转储文件, 分析该转储文件看能否找出原因.

爬虫程序: 自身对爬取的进度,做详细的日志, 不管是链接,还是遇到的异常,最好都记录下来,以便得知具体停止的时间, 和停止时,爬取的进度, 下次可以先针对这个进度再去深入分析.

Ty80

linux系统的话试试用crontab去做定时任务
windows用任务计划

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!