文章詳情頁
python - 如何解決程序運行太久之后被操作系統暫停的情況?
瀏覽:140日期:2022-06-29 14:48:35
問題描述
我有幾個python爬蟲程序,需要持續不間斷運行,但是每次都是運行了兩天之后變得無響應,每次都是阻塞在time.sleep(60)的地方,但是進程又沒有死掉,在控制臺輸入Ctrl C都不能退出程序,只能在任務管理器里強制退出才行。
請問這是由什么原因導致的?以及如何解決這個問題?
先謝謝各位前輩了!
問題解答
回答1:問題分析建議:
linux: 可以嘗試通過strace命令追蹤進程狀態, 根據輸出的內容做分析,或者通過proc對應目錄的文件對進程的各項指標做分析! Ctrl-C無效,懷疑進程進入不可中斷的睡眠,具體還得看實際獲取的數據才有可能知道
windows: 通過任務管理器找到對應的進程, 右鍵->創建轉儲文件, 分析該轉儲文件看能否找出原因.
爬蟲程序: 自身對爬取的進度,做詳細的日志, 不管是鏈接,還是遇到的異常,最好都記錄下來,以便得知具體停止的時間, 和停止時,爬取的進度, 下次可以先針對這個進度再去深入分析.
回答2:linux系統的話試試用crontab去做定時任務windows用任務計劃
相關文章:
1. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)2. table表格里面height不能在border和tr里面調?3. 老師 我是一個沒有學過php語言的準畢業生 我希望您能幫我一下4. 除了 python2 和 python3,ipython notebook 還可以用哪些內核?5. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!6. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)7. tp5 不同控制器中的變量調用問題8. html5 - datatables 加載不出來數據。9. python - Pycharm一句代碼寫完可以自動補全空格么?10. php7.3.4中怎么開啟pdo驅動
排行榜
