假设我的可执行文件是 c:\my irectory\myfile.exe 并且我的 R 脚本使用 system(myfile.exe) 调用这个可执行文件

R 脚本为可执行程序提供参数,该程序使用它们进行数值计算。从可执行文件的输出中,R 脚本然后测试参数是否正确。如果它们不好,则更改参数并使用更新的参数重新运行可执行文件。

现在,由于此可执行文件执行数学计算,并且解决方案可能只会缓慢收敛,我希望能够在执行计算需要很长时间(例如 5 秒)时终止该可执行文件

我怎么做这个依赖时间的杀戮?

PS:
我的问题与这个有点相关:(时间非依赖杀戮)
how to run an executable file and then later kill or terminate the same process with R in Windows

最佳答案

您可以向发出可执行调用的 R 函数添加代码:

setTimeLimit(elapse=5, trans=T)

这将终止调用函数,将控制权返回给父环境(也可能是一个函数)。然后使用您链接到的问题中的示例进行进一步的工作。

或者,设置一个循环来检查 Sys.time ,如果对参数集的预期更新在 5 秒后没有发生,则中断循环并发出 system kill 命令以终止 myfile.exe

关于r - 在 R 中用户定义的时间后终止计算程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17650798/

10-11 22:56
查看更多