我在我的 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')