2

我想知道编写无限期运行 PHP 脚本的守护程序的替代方法是什么。换句话说:执行 PHP 脚本 ---> 进程 ---> 完成 ---> 重复。

这可以用 Bash 编写吗?还是C?是否有一个我可以安装的 Linux 工具可以无限期地为我运行类似的东西?通常使用哪些方法来处理此任务?

更新:我正在使用 centos

4

2 回答 2

1

这是一个常见的问题,人们已经编写了几个实用程序来做到这一点(通常它们被称为看门狗)。

您可以比较可用选项并检查您更喜欢的选项的来源。他们之中有一些是:

可以使用 cron 定期运行任务,但是很难防止并发(很难做好,处理锁、过时锁等)。

于 2013-04-10T19:34:24.547 回答
0

如果它可以满足您的功能和性能要求,那么 qiuickest 将是您所知道的。Bash - 通常最简单,perl - 强大,c - 只有当你真的知道你在做什么时。如果您最了解,您可以使用 php 本身。

您可以创建一个 cron 作业来执行您的 php 脚本。或者使用外部程序守护您的程序。用 perl 创建守护进程很容易,如果 php 也可以作为守护进程进行分叉,这不会感到惊讶。

重击解决方案:

cd /
while :; do php /path/myprog.php >> /var/log/myphplog.log; done </dev/null >/dev/null 2>/dev/null &
disown

您可以将此代码放在 rc.local 中或创建一个新的初始化脚本。日志轮换也很好。

于 2013-04-10T19:35:19.903 回答