我正在运行一个主要睡觉的CLI脚本.脚本每10秒左右执行一次.问题是,脚本在睡眠时占用了94%的CPU使用率.
我设置它的方式是:
while(1){
sleep(10);
doStuff();
}
Run Code Online (Sandbox Code Playgroud)
虽然这是按预期工作的,但是存在一个明显的问题.在C++/Java中,我可以简单地设置一个可以消除循环问题的计时器.另外,我希望我不需要cron工作.
有没有其他方法可以做到这一点?
显然我的原始脚本(相当大)从未真正进入睡眠模式,因此while循环运行单元化并烧毁CPU周期.对于有同样问题的人,请确保不是您的情况!
过去,当我需要将 PHP 脚本设为守护程序时,我使用了此处概述的 PEAR 模块: http ://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/
如果您不想使用 PEAR 模块,您可以检查其源代码并执行类似的操作。