(使用OS X 10.9.4)我有这个很酷的Ruby
脚本,它扫描系统/防火墙日志并告诉我是否发生了奇怪的事情。该脚本在1秒循环上运行,但在3852nd iteration
时,脚本会以"stack level too deep (SystemStackError)"
错误终止。
我不是这个错误的新手,它似乎出现在脚本进入循环时,系统沙箱(可能)在经过一段时间或特定参数后终止它。
我尝试通过以root身份运行脚本来绕过错误,但这没有任何效果。我还考虑编写另一个脚本来重新启动原始脚本,当它在命令中检测到它不存在时:ps -ef
s'然而,这是一个非常“笨拙”的输出。我宁愿避免的方法。
我还对#Stack; Stack Overflow"中的错误进行了一些研究,但是只通过修改有问题的脚本找到了问题,因为错误在他们的情况下是由于代码中的错误,对我来说情况并非如此。
所以我的问题:
有没有办法绕过"堆栈级别太深(SystemStackError)"错误
提前致谢,非常感谢。