所以我只想把这个快速而又脏的模块写入一个占用当前时间的程序,回显一个字符串,然后等待x分钟并回显另一个字符串。唯一的问题是,这个小模块是否会停止程序的其余部分,直到它完成为止。有什么方法吗?
答案 0 :(得分:0)
您可以复制当前正在运行的进程,让1个进程等待,另一个进行它必须执行的操作。
要分叉PHP进程,您必须使用pcntl_fork
答案 1 :(得分:0)
当然分叉可以解决问题,但为什么不在PHP中使用ticks functionality?
考虑这个例子:
declare(ticks=1);
function tick() {
// check if the interval is correct before proceding
$mem = memory_get_usage(true);
echo "Using $mem bytes right now";
}
register_tick_function('tick');
// do all kinds of things in your main program here
while(true) {
usleep(50000);
}
在休眠时,它会定期调用tick函数,而不必手动调用它。唯一需要注意的是,如果特定操作需要很长时间才能完成(例如数据库查询),则在此操作完成之前,不会触发刻度。