我正在用 Ruby 实现一个检查系统。它运行具有不同测试的可执行文件。如果解决方案不正确,则可能需要很长时间才能完成某些严格的测试。这就是为什么我想将执行时间限制为 5 秒。
我正在使用 system() 函数来运行可执行文件:
system("./solution");
.NET 有一个很棒的 WaitForExit()
方法,那么 Ruby 呢?
有没有办法将外部进程的执行时间限制为 5 秒?
谢谢
最佳答案
您可以使用标准超时库,如下所示:
require 'timeout'
Timeout::timeout(5) { system("./solution") }
这样您就不必担心同步错误。
关于ruby - 如果超过 5 秒,如何退出使用 Ruby 运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574085/