84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我有幾個python爬蟲程序,需要持續不間斷運行,但是每次都是運行了兩天之後變得無響應,每次都是阻塞在time.sleep(60)的地方,但是進程又沒有死掉,在控制台輸入Ctrl C都不能退出程序,只能在任務管理器裡強制退出才行。
請問這是由什麼原因導致的?以及如何解決這個問題?
先謝謝各位前輩了!
問題分析建議:
linux: 可以嘗試透過strace指令追蹤進程狀態, 根據輸出的內容做分析,或透過proc對應目錄的檔案對進程的各項指標做分析! Ctrl-C無效,懷疑進程進入不可中斷的睡眠,具體還得看實際取得的數據才有可能知道
linux
strace
proc
Ctrl-C
windows: 透過任務管理器找到對應的進程, 右鍵->建立轉儲檔案, 分析該轉儲檔案看能否找出原因.
windows
爬蟲程序: 自身對爬取的進度,做詳細的日誌, 不管是鏈接,還是遇到的異常,最好都記錄下來,以便得知具體停止的時間, 和停止時,爬取的進度, 下次可以先針對這個進度再去深入分析.
爬蟲程序
linux系統的話試試用crontab去做定時任務windows用任務計劃
問題分析建議:
linux
: 可以嘗試透過strace
指令追蹤進程狀態, 根據輸出的內容做分析,或透過proc
對應目錄的檔案對進程的各項指標做分析!Ctrl-C
無效,懷疑進程進入不可中斷的睡眠,具體還得看實際取得的數據才有可能知道windows
: 透過任務管理器找到對應的進程, 右鍵->建立轉儲檔案, 分析該轉儲檔案看能否找出原因.爬蟲程序
: 自身對爬取的進度,做詳細的日誌, 不管是鏈接,還是遇到的異常,最好都記錄下來,以便得知具體停止的時間, 和停止時,爬取的進度, 下次可以先針對這個進度再去深入分析.linux系統的話試試用crontab去做定時任務
windows用任務計劃