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!
问题分析建议:
linux
: 可以尝试通过strace
命令追踪进程状态, 根据输出的内容做分析,或者通过proc
对应目录的文件对进程的各项指标做分析!Ctrl-C
无效,怀疑进程进入不可中断的睡眠,具体还得看实际获取的数据才有可能知道windows
: 通过任务管理器找到对应的进程, 右键->创建转储文件, 分析该转储文件看能否找出原因.爬虫程序
: 自身对爬取的进度,做详细的日志, 不管是链接,还是遇到的异常,最好都记录下来,以便得知具体停止的时间, 和停止时,爬取的进度, 下次可以先针对这个进度再去深入分析.linux系统的话试试用crontab去做定时任务
windows用任务计划