我必須連續監視一個進程,並使用進程ID來監視進程。我編寫了一個程序,在進程停止後發送一封電子郵件,以便我手動重新安排它,但是我經常忘記重新安排進程(基本上是另一個Python程序)。然後,我遇到了apscheduler模塊,並使用cron風格計劃(http://packages.python.org/APScheduler/cronschedule.html)在進程停止後產生一個進程。現在,一旦進程的PID已被殺死,我就可以產生進程,但是當我使用apscheduler產生它時,我無法獲得新調度進程的進程ID(PID)。因此,我無法監控這個過程。 apscheduler中是否有函數來獲取預定進程的進程ID?使用python apscheduler調度作業
1
A
回答
3
而不是依靠APSchedule來返回PID,爲什麼不讓你的程序報告PID本身。守護進程通常具有pidfiles,它們是位於已知位置的文件,只包含正在運行的進程的pid。只是包裝你的主要功能是這樣的:
import os
try:
with open("/tmp/myproc.pid") as pidfile:
pidfile.write(str(os.getpid()))
main()
finally:
os.remove("/tmp/myproc.pid")
現在,只要你想監控過程中,你可以先檢查文件是否存在的PID看,如果確實如此,獲取進一步的進程的PID監控。這有利於獨立於cron的特定實現,如果您想編寫更多與本地程序進行交互的程序,將來會更輕鬆。
相關問題
- 1. APScheduler - 作業未執行
- 2. 用於作業調度的Python庫,ssh
- 3. APScheduler運行作業達一特定量
- 4. 調度QGIS處理作業
- 5. SOS作業調度
- 6. Dataprep - 調度作業
- 7. WebLogic作業調度
- 8. 使用Quartz.NET調度Cron作業
- 9. 使用heroku調度作業節點js
- 10. 如何使用python執行作業調度算法?
- 11. 如何使用uwsgi + flask_apscheduler通過請求向apscheduler添加作業
- 12. Python Pandas - apscheduler -
- 13. 如何使Python apscheduler背景
- 14. SQL替代作業調度
- 15. 作業調度服務
- 16. 爲MongoDB調度MapReduce作業
- 17. 作業調度問題
- 18. 作業調度問題
- 19. 數據庫作業調度
- 20. 作業調度規則
- 21. 調度作業停止
- 22. 作業的順序調度
- 23. Hazlecast調度Cron作業
- 24. Hadoop作業調度查詢
- 25. 我們可以強制在APScheduler作業存儲中運行作業嗎?
- 26. python crontab alternative - APScheduler&python-daemon
- 27. 集羣作業調度程序:工具
- 28. Quarzt:在調度作業之前/不調度作業時存儲JobDataMap
- 29. 從PBS作業中調用python腳本
- 30. python企業調度程序(如石英)