У меня есть два приложения, работающих на одном сервере, которые выполняют задачи автономного просмотра. Каждый раз, когда вы просматриваете, процесс Xvfb не умирает, а вместо этого становится зомби. Я могу подтвердить это с помощью следующего скрипта.
require 'headless'
require 'watir-webdriver'
require 'yaml'
zombies_at_start = `ps axo pid=,stat= | awk '$2~/^Z/ { print $1 }'`.split("\n").count
5.times do
begin
d = YAML.load_file("/path/to/config/headless.yml")['build_number'] #=> "98"
h = Headless.new(:display => d)
h.start
b = Watir::Browser.new :firefox
b.goto 'http://google.com'
sleep(0.5)
ensure
b.close
h.destroy
end
sleep(0.5)
end
zombies_at_end = `ps axo pid=,stat= | awk '$2~/^Z/ { print $1 }'`.split("\n").count
puts "Created #{zombies_at_end - zombies_at_start} more zombies."
#=> Created 5 more zombies.
Почему? Как я могу это исправить?
Информация о версии:
- xorg-x11-сервер-Xvfb-1.15.0-26.el6.centos.i686
- Выпуск CentOS 6.5 (финальный)
- рубин-2.0.0-p353
- рвм 1.25.25
- селен-вебдрайвер (2.45.0, 2.44.0)
- ватир-вебдрайвер (0.7.0)
- безголовый (2.1.0)