Php 达到一定限制后重新启动脚本

Php 达到一定限制后重新启动脚本,php,Php,没有看到类似的问题,所以这里是: 假设我正在运行一个cron脚本,它可能会耗尽内存(64M)或时间(30秒)。脚本是否有办法检测到这一点并重新启动自身,或重定向到自身?我假设这是在某种unix上运行的,因此如果您使用以下内容包装php调用: #!/bin/sh # specify the full path and params below. safe_exec() { if /bin/ps -axww | /usr/bin/grep "$*" | /usr/bin/grep -v gr

没有看到类似的问题,所以这里是:


假设我正在运行一个cron脚本,它可能会耗尽内存(64M)或时间(30秒)。脚本是否有办法检测到这一点并重新启动自身,或重定向到自身?

我假设这是在某种unix上运行的,因此如果您使用以下内容包装php调用:

#!/bin/sh
# specify the full path and params below.
safe_exec()
{
    if /bin/ps -axww | /usr/bin/grep "$*" | /usr/bin/grep -v grep > /dev/null; then
        # the specified script running, don't start it again
        return
    else
        # run
        $*
    fi
}
safe_exec php /path/to/your/php/script.php
您的定时cron每次都会重新启动脚本,只要它还没有运行

另一个选择是优化脚本。如果它无限循环
,而(true){}
并耗尽了ram,那么它做了一些不好的事情,需要进行相应的管理


如果时间不足,则应通过
set\u time\u limit()
0为您的CLI脚本设置
max\u execution\u time

从CLI启动的脚本通常没有时间限制,并且内存限制比64M高得多。