<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        淺析python定時殺進程

        來源:懂視網 責編:小采 時間:2020-11-27 14:26:01
        文檔

        淺析python定時殺進程

        淺析python定時殺進程:之前寫了個python腳本用selenium+phantomjs爬新帖子,在循環拉取頁面的過程中,phantomjs總是block住,使用WebDriverWait設置最長等待時間無效。用firefox替換phantomjs無改善因為這個腳本不會長期使用,因此采取臨時辦法,新開一個子線程固定周期殺死pha
        推薦度:
        導讀淺析python定時殺進程:之前寫了個python腳本用selenium+phantomjs爬新帖子,在循環拉取頁面的過程中,phantomjs總是block住,使用WebDriverWait設置最長等待時間無效。用firefox替換phantomjs無改善因為這個腳本不會長期使用,因此采取臨時辦法,新開一個子線程固定周期殺死pha

        之前寫了個python腳本用selenium+phantomjs爬新帖子,在循環拉取頁面的過程中,phantomjs總是block住,使用WebDriverWait設置最長等待時間無效。用firefox替換phantomjs無改善

        因為這個腳本不會長期使用,因此采取臨時辦法,新開一個子線程固定周期殺死phantomjs進程,這樣selenium就會在block最多不超過此周期后返回。當然在爬蟲腳本中做一些微調防止部分url被跳過

        定時執行任務采用sched模塊,很多人將其與crontab相提并論

        殺死特定進程的命令

        代碼如下:


        kill -9 pid命令可以無條件終止對應pid進程

        獲取名為phantomjs的進程pid

        ps命令列出進程信息

        grep過濾得指定名字的進程信息

        awk '{print $2}'提取第二列pid信息

        最終命令為:kill -9 `ps -aux|grep phantomjs|awk '{print $2}'`

        python可以用os.system()執行shell命令

        使用sched模塊周期執行任務

        sched模塊使用heapq保存event隊列,其event為namedtuple類型

        sched需要提供兩個函數,一個用來獲取時間變化,一個用于等待一段時間,可自定義

        基本API

        sched.scheduler(time_func, sleep_func) 函數返回一個scheduler對象,timefunc是一個返回數字的計時函數,而sleepfunc可接受此數字參數,并延時相應時間

        scheduler.enter(delay, priority, action, argument)在delay時間段后,用參數argument調用action, argument必須是一個tuple。若要在固定時刻運行,則應調用scheduler.enterabs

        scheduler.cancel(event)取消定時任務。event為enter函數返回值

        scheduler.run()開始執行

        任務時間重疊

        在執行任務時有可能要block一段時間,任務返回后可能已經超過下一個任務的定時時刻,這種情況下會立刻執行下一個任務,而不會跳過

        周期執行

        類似于遞歸調用,寫一個wrapper function,在任務里面再次定時下一次任務即可

        def wrapper(func, delay):
        scheduler.enter(delay, 0, wrapper, (func, delay))
        func()

        最終代碼

        import os, time, sched
        schedule = sched.scheduler(time.time, time.sleep)
        cmd = '''kill -9 `ps -aux|grep phantomjs|awk '{print $2}'`
        '''
        def recycle_eval(c, inc):
        schedule.enter(inc, 0, recycle_eval, (c, inc))
        os.system(c)
        print time.ctime(),'phantomjs killed'
        if __name__ == '__main__':
        inc = 180
        schedule.enter(inc, 0, recycle_eval, (cmd, inc))
        schedule.run()

        以上所述是小編給大家介紹的python定時殺進程的相關知識,希望能夠幫助到大家!

        更多淺析python定時殺進程相關文章請關注PHP中文網!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        淺析python定時殺進程

        淺析python定時殺進程:之前寫了個python腳本用selenium+phantomjs爬新帖子,在循環拉取頁面的過程中,phantomjs總是block住,使用WebDriverWait設置最長等待時間無效。用firefox替換phantomjs無改善因為這個腳本不會長期使用,因此采取臨時辦法,新開一個子線程固定周期殺死pha
        推薦度:
        標簽: 殺死 進程 python
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产精品四虎在线观看免费 | 久久夜色精品国产噜噜噜亚洲AV| 成在线人直播免费视频| 亚洲AV无码国产精品色午友在线| 黄页网址在线免费观看| 免费人成网站7777视频| 一级特黄录像视频免费| 久久久久无码专区亚洲av| 好男人资源在线WWW免费| 亚洲人成无码网站| 久久大香伊焦在人线免费| 亚洲av丰满熟妇在线播放| 中国人xxxxx69免费视频| 亚洲一卡2卡3卡4卡国产网站| 24小时日本在线www免费的| 亚洲AV无码一区二区三区牲色| 日韩在线天堂免费观看| 人与动性xxxxx免费| 亚洲av无码乱码国产精品fc2| 99久久久国产精品免费牛牛| 亚洲六月丁香六月婷婷蜜芽| 手机在线毛片免费播放| 一级做a爱过程免费视| 亚洲∧v久久久无码精品| 无码区日韩特区永久免费系列| 亚洲精华国产精华精华液好用| 亚洲国产成人久久一区久久| 久久精品国产免费一区| 亚洲国产综合第一精品小说| 在线免费观看一级片| 中国videos性高清免费| 亚洲国产精品网站久久| 亚洲片国产一区一级在线观看| 久草免费福利视频| 中文字幕亚洲精品无码| 亚洲中文字幕日产乱码高清app | 免费观看毛片视频| 最近中文字幕大全免费版在线| 亚洲人成人网毛片在线播放| 亚洲伊人久久综合中文成人网| 国产成人精品免费视频大|