编写无限期运行的linux守护程序的最佳工具?

时间:2013-04-10 19:30:05

标签: linux

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

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

更新:我正在使用centos

2 个答案:

答案 0 :(得分:1)

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

您可以比较可用选项并检查您喜欢的选项的来源。其中一些是:

您可以使用cron定期运行任务,但很难防止并发(很难做到很好,处理锁,陈旧锁等)。

答案 1 :(得分:0)

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

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

bash解决方案:

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

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