【发布时间】:2013-03-04 15:40:26
【问题描述】:
我有一个 PHP 脚本配置为使用 set_time_limit(0) 和 for(;;) 无限循环。该脚本被编码为侦听特定目录并等待文件。当检测到文件时,执行一些命令并保持循环继续。到目前为止,这非常成功地满足了我的需求,但我有一些顾虑。
在 PHP 中创建无限循环是否有任何性能劣势? 如何配置我的服务器以使该脚本永远不会停止运行?或者当它停止运行时可能会提醒我?我也希望它在启动时启动。我有一个 SUSE SLES 10 盒子。
for (;;) {
// Check for empty directory
if (isEmptyDir($finishedDir)) {
// If so, move on
continue;
} else {
// do stuff.
}
}
【问题讨论】:
-
运行无限循环没问题。只要记住偶尔睡觉,否则脚本会占用 CPU 周期作为早餐。
-
您可以使用
cron。 -
好吧。我在“做事”部分使用 sleep() ,但这仅在实际检测到文件时发生。无论是否找到文件,我都应该在每个循环结束时使用 sleep() 吗?
标签: php linux automation