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. python文檔怎么查看?2. python - pycharm 自動(dòng)刪除行尾空格3. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入4. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個(gè)列A,B,C的dataframe5. python - Pycharm的Debug用不了6. html - eclipse 標(biāo)簽錯(cuò)誤7. python 利用subprocess庫(kù)調(diào)用mplayer時(shí)發(fā)生錯(cuò)誤8. 請(qǐng)問(wèn)PHPstudy中的數(shù)據(jù)庫(kù)如何創(chuàng)建索引9. datetime - Python如何獲取當(dāng)前時(shí)間10. javascript - 有適合開發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?
