我怎么知道 cron 服务是否正在使用 PHP 脚本运行?
我想要一个 PHP 脚本来检查 cron 服务是否正在运行,否则它将通过电子邮件通知管理员,以便他们可以立即对其进行操作。
谢谢
根据您的操作系统,有三种方法(所有这些方法都会造成相当大的性能损失,但您的应用程序可能可以接受)
检查进程列表 - 您可以执行控制台命令来检查正在运行的进程列表。我认为这在 Windows 上是不可能的,但在 linux 上没有问题。额外注意过滤那里使用的任何和所有变量,因为运行控制台命令可能会带来很大的安全风险。
运行文件 - 在脚本开始时创建一个文件并检查它是否存在。我认为这是大多数(甚至非 PHP)进程检查它们是否正在运行的方式。性能损失和安全问题应该是最小的,你必须注意文件是否被正确删除,即使在出现错误的情况下也是如此。
存储中的信息 - 与文件解决方案一样,您可以将信息添加到数据库或其他存储系统中。性能损失比文件 IO 略大,但如果您的脚本已经有一个数据库连接,那么这可能是值得的。在那里为您的当前进程存储更多信息或添加日志记录也更容易。