如何在 Linux 中每 500 毫秒执行一次 PHP 代码?

如何在 Linux 中每 500 毫秒执行一次 PHP 代码?

我在 Linux 上有一个 http 服务器。
我有一些 PHP 代码,使用以下命令将变量存储到缓存中内存缓存我希望在服务器运行时每 500 毫秒执行一次此代码,即使在服务器重启后也是如此。
我曾考虑实现一项服务,但我对 Linux 经验不多,所以我不知道该怎么做,也不知道这是否是正确的方法。
我也听说过 cron-jobs,但我发现它们是按分钟而不是按秒运行的。
我怎样才能在 Linux 中每 500 毫秒执行一次 PHP 代码(代码会有所帮助)?

答案1

你可以使用一个简单的 shell 脚本来实现这个目的:

#!/bin/bash
while true; do
    php /path/to/your/script.php & sleep 0.5s;
done

“&” 将在后台分叉进程,因此计时应该在某种程度上是准确的。我猜一段时间后它会与真实时钟不同步,因此您可能希望在脚本执行的任何操作中添加时间戳,或者使用使用系统时间的守护进程的方法。

(感谢您在评论中提供的意见)

我建议使用 systemctl 添加该脚本。本教程看起来不错: 创建我自己的 systemd 服务文件

答案2

由于您熟悉 PHP,因此您可以创建 PHP 守护程序/服务。我曾经为自己创建过一个 PHP 服务,因为我必须使用仅在 PHP 中可用的库。它多年来一直运行良好,没有任何问题。

以下是有关 PHP 守护进程的一些信息:

相关内容