我想setTimeLimit()
在R中掌握并且我的经验导致了几个相关的问题,所以也许根本问题是:这是如何真正起作用的?(我一直在寻找evalWithTimeout()
的R.utils
,以及,它可能适合我的目的稍微好一点,但它是建立在此功能).
以下是我想弄清楚的关键事项:
它如何监控经过的时间?即它似乎插入流控制,所以它是如何做到的?能够拥有"后台"流程很酷,可用于报告状态,检查点等.
我可以确定触发前剩余的时间吗?我意识到我可以将它包装起来并在某处保存在调用点(即输出proc.time()
)附近消耗的已用时间和CPU时间.但是,这个功能已经在某处存储了这些功能,我想知道在哪里,或者至少知道如何确定剩余的时间.
如果R控制台空闲,是否可以做一些有用的事情?能够监控elapsed.time()
并且cpu.time()
非常有用.我希望能够监视R何时处于空闲状态,但似乎需要修改它需要提交或完成命令.而且,仅输出错误不会触发后续操作.(也许我需要更多关注evalWithTimeout
.)
帮助信息表明它可以适用于C或Fortran,但不提供示例.有关如何做到这一点的任何建议?
我有一些工作流程,我希望R在完成脚本后暂停运行的Linux机器.我可以想到两种类似的方法来做到这一点:
system("halt")
halt
在R位完成后运行shell脚本.还有其他简单的方法吗?
这里的用例是针对在AWS上运行的脚本,我希望在脚本完成后实例停止,这样我就不会在作业运行后收取机器时间的费用.我用于数据分析的实例是一个EBS支持的实例,因此我不想终止它,只需暂停.从实例内部发出halt命令与从AWS控制台停止/挂起的效果相同.
有没有办法将命令(从shell)传递给已经运行的R-runtime/R-GUI,无需复制和过去.
到目前为止,我只知道如何使用-f
或-e
选项通过shell调用R ,但在这两种情况下,新的R-Runtime将处理传递给它的R-Script或R-Command.
我宁愿有一个开放的R-Runtime等待通过任何可能的连接传递给它的命令.