用python寫了個定時抓取代理IP的任務?
這樣的問題缺少關鍵條件:操作系統!
if 滿足以下條件,你使用這個命令前提條件是:
Linux操作系統
crontab定時任務
python為命令行執行的
.py
文件那么你只需輸入
ps aux | grep "python" | grep -v "grep"就能列出后臺是否有正在執行的 python 腳本。
如果有,那么說明腳本正在執行,還沒有完成;
如果沒有,要么是腳本執行結束了,要么是異常退出了。
需要你在腳本內做好日志信息收集。
else:不滿足上述條件的其他情況假設題主是在 windows 下,添加了定時任務。也就是下圖這里
然后設置了用戶,時間觸發器,還有運行的命令,如下python文件
最終配置結果長這樣
在任務列表內,可以看到你的這一條。
上面是前提。
etc. 你能監控腳本運行與否的方法定時任務運行成功與否,系統會記錄日志。
在 Linux 存儲在 /var/log/
cron.log
文件內。在 Winodws 則是事件查看器報告的異常。
你應該怎么做?
在腳本內,手動 log 做好日志信息輸出,并歸檔到日志文件內,方便調試查找。
windows 下怎么看進程是否執行完成呢?
其實大致相同,打開命令行界面,輸入 tasklist,大致如下圖:
該指令支持篩選條件,可以輸入如下指令:
tasklist /fi "imagename eq python*"運行結果如下:
列出所有python的進程,但是這個指令無法幫你定位到哪個PID是你的腳本任務。不如Linux方便。
結語兩種操作系統平臺的方法都有了,用指令試一下吧。
注意,自己寫的定時任務腳本程序,一定要手動收集日志。
系統不可能幫你把什么都辦了!
我是@程序員小助手,持續分享編程與程序員成長相關的內容,歡迎關注~~