![使用 CRON 启动和监控进程](https://linux22.com/image/22104/%E4%BD%BF%E7%94%A8%20CRON%20%E5%90%AF%E5%8A%A8%E5%92%8C%E7%9B%91%E6%8E%A7%E8%BF%9B%E7%A8%8B.png)
有一个用 C 编写的存根应用程序。现在我想定期运行这个应用程序,比如每天上午 11.30。我想用计划任务过程,但我不知道该怎么做。请帮忙。
我也想要计划任务定期检查应用程序是否正常运行。如果应用程序崩溃或挂起,计划任务应该能够在一定时间内重新启动应用程序。
答案1
Cron 用于按计划的时间间隔运行计划任务,而不是照顾其他进程。
您可以:
使用不同的东西,例如主机操作系统的初始化脚本系统,也许有一个自定义作业,
inittab
如果它死了,它会自动重生。或者以 shell 脚本的形式将某些东西组合在一起,
cron
该脚本会定期触发,使用一组预先确定的检查来检查您的守护程序脚本是否正常运行,如果没有在运行后清理,则重新启动-发射。
答案2
您只需在 crontab 文件中输入一个条目即可
$ crontab -e
结束然后根据您的输入http://www.manpagez.com/man/5/crontab/
[email protected]
30 11 * * * /path/to/your/command
MAILTO
如果命令在 STDERR 上生成输出,则通过该条目您将收到一封电子邮件
检查进程是否挂起更加困难:您应该定义挂起的含义:运行超过一定时间?产生一些可识别的行为?
您始终可以稍后运行第二个进程或脚本来检查该进程是否仍在运行并采取适当的操作。
答案3
克罗尼托(https://cronitor.io)是我专门为此目的构建的工具。它基本上可以归结为一个跟踪信标,使用 http 请求来记录 cron 作业/计划任务的开始和结束。
使用 Cronitor 的好处之一是您可以灵活地编写跟踪请求脚本,甚至可以拨打立即报告失败的调用。有了这种灵活性,您可以为您的应用程序编写一个包装器来报告失败和出现故障时尝试重新启动脚本。