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

编写无限期运行的linux守护程序的最佳工具?,linux,Linux,我想知道编写一个无限期运行PHP脚本的守护进程的替代方案是什么。换句话说:执行PHP脚本-->process-->complete-->repeat 这可以用Bash编写吗?还是C?是否有一个Linux工具我可以安装,可以运行这样的东西为我无限期?通常使用什么方法来处理此任务 更新:我正在使用centos这是一个非常常见的问题,人们已经编写了几个实用程序来实现这一点(通常称为看门狗) 您可以比较可用选项并检查您更喜欢的选项的来源。其中包括: 如果你在Ubuntu中,试试看 (我的最爱) 您

我想知道编写一个无限期运行PHP脚本的守护进程的替代方案是什么。换句话说:执行PHP脚本-->process-->complete-->repeat

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


更新:我正在使用centos这是一个非常常见的问题,人们已经编写了几个实用程序来实现这一点(通常称为看门狗)

您可以比较可用选项并检查您更喜欢的选项的来源。其中包括:

  • 如果你在Ubuntu中,试试看
  • (我的最爱)

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

qiuickest将是您所知道的,如果它能够满足您的功能和性能要求。Bash——通常是最简单、perl功能强大的c语言——只有在您真正知道自己在做什么的情况下。如果您最了解php,您可以使用它本身

您可以创建一个cron作业来执行php脚本。或使用外部程序监视您的程序。使用perl创建守护进程很容易,如果php也可以作为守护进程进行分叉,这一点也不奇怪

bash解决方案:

cd /
while :; do php /path/myprog.php >> /var/log/myphplog.log; done </dev/null >/dev/null 2>/dev/null &
disown
cd/
while:;执行php/path/myprog.php>>/var/log/myphplog.log;完成/dev/null 2>/dev/null&
否认

您可以将此代码放入rc.local或创建一个新的init脚本。日志循环也很好。

使用cron时,我遇到了这个问题-->@coderama,在AnswerSupervisorOrd rocks my world中添加了一个例子。非常感谢。