文章詳情頁
python - 如何解決程序運行太久之后被操作系統(tǒng)暫停的情況?
瀏覽:137日期:2022-06-29 14:48:35
問題描述
我有幾個python爬蟲程序,需要持續(xù)不間斷運行,但是每次都是運行了兩天之后變得無響應,每次都是阻塞在time.sleep(60)的地方,但是進程又沒有死掉,在控制臺輸入Ctrl C都不能退出程序,只能在任務管理器里強制退出才行。
請問這是由什么原因?qū)е碌模恳约叭绾谓鉀Q這個問題?
先謝謝各位前輩了!
問題解答
回答1:問題分析建議:
linux: 可以嘗試通過strace命令追蹤進程狀態(tài), 根據(jù)輸出的內(nèi)容做分析,或者通過proc對應目錄的文件對進程的各項指標做分析! Ctrl-C無效,懷疑進程進入不可中斷的睡眠,具體還得看實際獲取的數(shù)據(jù)才有可能知道
windows: 通過任務管理器找到對應的進程, 右鍵->創(chuàng)建轉(zhuǎn)儲文件, 分析該轉(zhuǎn)儲文件看能否找出原因.
爬蟲程序: 自身對爬取的進度,做詳細的日志, 不管是鏈接,還是遇到的異常,最好都記錄下來,以便得知具體停止的時間, 和停止時,爬取的進度, 下次可以先針對這個進度再去深入分析.
回答2:linux系統(tǒng)的話試試用crontab去做定時任務windows用任務計劃
相關(guān)文章:
1. 我的html頁面一提交,網(wǎng)頁便顯示出了我的php代碼,求問是什么原因?2. tp6表單令牌3. docker 17.03 怎么配置 registry mirror ?4. java 排序的問題5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?6. django - 后臺返回的json數(shù)據(jù)經(jīng)過Base64加密,獲取時用python如何解密~!7. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。8. 數(shù)據(jù)庫 - 使用讀寫分離后, MySQL主從復制延遲會導致讀不到數(shù)據(jù)嗎?9. 老哥們求助啊10. javascript - canvas 可以實現(xiàn) PS 魔法橡皮擦的功能嗎?
排行榜

熱門標簽