0

我在我的 linux 服务器上通过 capybara 运行了很多工作。我正在使用 poltergeist phantomjs 驱动程序。过了一会儿,我收到了很多这些错误:

Errno::EMFILE Too many open files - socket(2)

我看了看,lsof看起来我有很多这些:

ruby      32316   deployer  320u     IPv4  9893211        0t0      TCP localhost:55062 (LISTEN)

现在我怀疑这可能是因为我没有正确关闭连接?

运行以下内容后终止的正确方法是什么:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {:js_errors => false})
end

Capybara.current_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
Capybara.run_server = false

@session = Capybara::Session.new(:poltergeist)
@session.visit('some_url')
4

1 回答 1

5

你可以运行@session.driver.quit

于 2013-04-23T12:44:53.097 回答