Ale*_*lex 6 ruby process execution-time
我正在用Ruby实现一个检查系统.它使用不同的测试运行可执行文件.如果解决方案不正确,可能需要永远完成某些硬测试.这就是为什么我想将执行时间限制为5秒.
我正在使用system()函数来运行可执行文件:
system("./solution");
Run Code Online (Sandbox Code Playgroud)
.NET有一个很好的WaitForExit()方法,Ruby呢?
有没有办法将外部进程的执行时间限制为5秒?
谢谢
Tim*_*onk 11
您可以使用标准超时库,如下所示:
require 'timeout'
Timeout::timeout(5) { system("./solution") }
Run Code Online (Sandbox Code Playgroud)
这样您就不必担心同步错误.