python - 如何解決程序運(yùn)行太久之后被操作系統(tǒng)暫停的情況?
問(wèn)題描述
我有幾個(gè)python爬蟲程序,需要持續(xù)不間斷運(yùn)行,但是每次都是運(yùn)行了兩天之后變得無(wú)響應(yīng),每次都是阻塞在time.sleep(60)的地方,但是進(jìn)程又沒(méi)有死掉,在控制臺(tái)輸入Ctrl C都不能退出程序,只能在任務(wù)管理器里強(qiáng)制退出才行。
請(qǐng)問(wèn)這是由什么原因?qū)е碌模恳约叭绾谓鉀Q這個(gè)問(wèn)題?
先謝謝各位前輩了!
問(wèn)題解答
回答1:問(wèn)題分析建議:
linux: 可以嘗試通過(guò)strace命令追蹤進(jìn)程狀態(tài), 根據(jù)輸出的內(nèi)容做分析,或者通過(guò)proc對(duì)應(yīng)目錄的文件對(duì)進(jìn)程的各項(xiàng)指標(biāo)做分析! Ctrl-C無(wú)效,懷疑進(jìn)程進(jìn)入不可中斷的睡眠,具體還得看實(shí)際獲取的數(shù)據(jù)才有可能知道
windows: 通過(guò)任務(wù)管理器找到對(duì)應(yīng)的進(jìn)程, 右鍵->創(chuàng)建轉(zhuǎn)儲(chǔ)文件, 分析該轉(zhuǎn)儲(chǔ)文件看能否找出原因.
爬蟲程序: 自身對(duì)爬取的進(jìn)度,做詳細(xì)的日志, 不管是鏈接,還是遇到的異常,最好都記錄下來(lái),以便得知具體停止的時(shí)間, 和停止時(shí),爬取的進(jìn)度, 下次可以先針對(duì)這個(gè)進(jìn)度再去深入分析.
回答2:linux系統(tǒng)的話試試用crontab去做定時(shí)任務(wù)windows用任務(wù)計(jì)劃
相關(guān)文章:
1. javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?2. sql語(yǔ)句 - mysql中關(guān)聯(lián)表查詢問(wèn)題3. javascript - iframe 為什么加載網(wǎng)頁(yè)的時(shí)候滾動(dòng)條這樣顯示?4. javascript - vscode alt+shift+f 格式化js代碼,通不過(guò)eslint的代碼風(fēng)格檢查怎么辦。。。5. javascript - [js]為什么畫布里不出現(xiàn)圖片呢?在線等6. javascript - 有什么比較好的網(wǎng)頁(yè)版shell前端組件?7. javascript - 求解答:實(shí)例對(duì)象調(diào)用constructor,此時(shí)constructor內(nèi)的this的指向?8. javascript - 如何將一個(gè)div始終固定在某個(gè)位置;無(wú)論屏幕和分辨率怎么變化;div位置始終不變9. css - chrome下a標(biāo)簽嵌套img 顯示會(huì)多個(gè)小箭頭?10. html - vue項(xiàng)目中用到了elementUI問(wèn)題
