2014-05-24 49 views

回答

1

您正在寻找某种“锁定机制”。互联网上的例子有许多方法。最简单的可能是实施“触发”事件,通常是每分钟启动脚本的cron作业。脚本完成的第一件事是检查是否有另一个实例正在运行。如果是的话,它会自行终止,如果没有,它会继续它的真正目的。所以关键部分是检测步骤。不同的选择可以再次使用,最简单的方法是编写一个包含脚本的锁定文件来处理它。然后,一个后续启动的脚本实例不仅可以检查这种锁定文件的存在,还可以通过读取进程ID来对照进程表对其进行测试,以检查前面的脚本是否仍在执行。这是一个强大且经常可见的模式。

+0

如果我使用cron job来运行这个文件,我的BandWidth会受到多少影响 - 每分钟运行一次。 – BeingShashi

+0

您的带宽将不会受到任何影响。带宽度量通过网络接口传输的数据量。 cron作业使用回送接口在本地请求。这对您的带宽限制无任何影响。这就是说我想强调的是:cron作业应该在安装了php文件的系统上运行,而不是在某些客户端系统上运行! – arkascha

0

如果你在linux上,你可以使用God http://godrb.com/这是一个进程监控工具。你应该能够监视php脚本,然后在停止时采取行动。该操作可能是重新启动脚本并发送电子邮件通知。将采取一些配置,但它应该为你工作。

+0

感谢您的回复,但我不在寻找手动解决方案。有没有用PHP代码或使用shell脚本编写的任何方法。 – BeingShashi

+0

我不确定您是如何将此视为“手动”解决方案的。一旦设置完成,它将不再需要任何手动干预。类似于设置一个cron作业。 – dmullings

相关问题