我必须连续监视一个进程,并使用进程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企业调度程序(如石英)