【发布时间】:2012-12-24 17:40:30
【问题描述】:
我有一个用 PHP 编写的脚本,该脚本由 cron 作业启动。这是一个运行时间很长的脚本,并且经常 cron 在最后一个实例完成之前启动另一个实例。没关系。我允许此脚本的 3 个实例在任何给定时间运行。
我将脚本限制为 3 个实例,并在脚本顶部使用此代码:
exec('ps -A | grep nameofmyscript', $results);
if (count($results) > 4) {
echo "Already Running\n"
die(0);
}
它有效,但我正在寻找更好的方法。几周前,当我重命名脚本并忘记更改那行代码时,这种方法适得其反。当脚本被命名为类似于已经运行的进程时,它也会失败。
【问题讨论】: