- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两个应用程序在一个服务器上运行,它们执行 headless (headless)浏览任务。每次浏览时,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.
为什么?我该如何解决这个问题?
版本信息:
最佳答案
更新: A pull request提交给 Headless 等待默认被接受。哇!
headless (headless) gem changed the way it starts, stops (kills) and verifies the Xvfb process .虽然我不完全确定为什么,但在 CentOS 6 上,这会导致进程僵尸化。由于 .destroy
之前没有引起问题,它一定与 headless 启动 Xvfb 进程(同时重写)的方式有关。
但是gem同时引入了.destroy_sync
,等待进程死亡,不产生僵尸。
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
h.destroy_sync
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 0 more zombies.
关于Ruby headless watir-webdriver Xvfb 僵尸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30754358/
我想使用 xvfb 自动化在我的网站的网址上创建缩略图的过程。 目前尚不清楚我应该在哪里下载独立的 xvfb 应用程序。我在哪里下载该软件包?如何构建包? 是否有其他软件包可以使用 php 或 she
我正在 headless (headless)运行 Protractor 测试 (chrome) 并且 Xvfb 或 xvfb-run 创建分辨率不正确的显示器。我有两种测试开始: Xvfb :10
我必须安装一个需要 xvfb-run 的程序。 但我无法在 Ubuntu 16.04 上通过命令“sudo apt-get install xvfb-run”安装 xvfb-run。 但是,我可以安装
我在 phpuni-environment.conf 文件中有这个用于 selenium 测试的配置 [program:selenium] command=xvfb-run java -Dwebdri
我使用以下代码打开 saveral Xvfb 进行测试,但遇到了一些问题: A. Xvfb 的状态(代码后面)有的进程是 Z 或 SL,有的进程是 Z+ 或 SL+,但 python 进程正常进行剂量
使用以下命令运行我的自动化套件 /usr/bin/xvfb-run -a/usr/share/maven/bin/mvn -e clean install -gs ~/.m2/settings.xml
我尝试使用 Xvfb 来运行 headless 代码。但是,当我尝试运行我的 ruby 代码时,遇到了“在您的系统上找不到 Xvfb”的问题。然后我尝试使用安装 Xvfb sudo apt-get
您能帮我吗,为什么我有时会得到帮助(50:50): webkit_server.NoX11Error: Cannot connect to X. You can try running with xv
我正在使用 Xvfb 在 headless firefox 中运行一些测试。但是,测试完成后我想恢复正常显示。但我无法做到这一点。这就是我正在做的事情。 打开终端 sudo Xvfb :10 -ac
我正在尝试寻找兼容的 Ubuntu 操作系统、xorg 版本和 xvfb 版本。谁能帮我指导安装 xvfb 而不会挂起初始化内置扩展 GLX 到目前为止,我已经尝试了以下方法 Ubuntu 13 Se
我正在尝试在 CentOS6 上启动 xvfb。但是在我键入命令启动 xvfb 后不久,我遇到了以下错误。 (EE) AIGLX error: swrast exports no DRI extens
两个脚本 first.sh 和 second.sh 将被用来运行 test.sh 和 test2.sh 在 Ubuntu 16.04 上 headless 地使用 Xvfb。 问题:运行first.s
我正在尝试使用依赖于 Xvfb 的 Python 库 pyvirtualdisplay 在虚拟显示器中运行网络浏览器。问题是我需要最大化浏览器,这是我没有实现的。我启动了一个尺寸为 1024x768
对运行多个 xvfb 显示器感到好奇:我有 10-50 个并行运行的脚本实例连接到一个 xvfb 显示器。运行相同数量的 xvfb 显示器并 1 对 1 连接是否有利?或者多个进程可以共享同一个显示器
我有 Ubuntu 11.04我正在尝试安装 Xvfb 和 CutyCapt 以拍摄网页快照我按照指示 https://github.com/jaequery/cutycapt-installer-s
xvfb :1 -screen 0 1600x1200x24 使用这个命令我可以获得一个 1600x1200 的屏幕。但是是什么阻止我将它设置为 xvfb :1 -screen 0 160000x12
我正在尝试记录我使用 xdotools 自动化的过程。它似乎工作正常,但我看到的只是实心红色矩形。这些矩形看起来像是我希望 xdotools 导航通过的窗口的正确大小/位置,但我没有得到真实的图片。
我在这里用头撞墙。我正在尝试编译 Xvfb 虚拟帧缓冲区的静态链接二进制文件。 http://manpages.ubuntu.com/manpages/natty/man1/Xvfb.1.html 现
Flash 播放器在 XVFB 下使用 selenium 运行的 firefox (centos 5.5 x64) 中不起作用。我只是在应该可以看到闪光灯的地方出现黑屏。 尝试了 32 和 64 版本
我有一个使用 Xvfb、Firefox 和 ImageMagick 在 Linux 服务器上制作快照的脚本。该脚本运行良好,由 bash 脚本引导,但目前我只能获取 1280x1024 的快照,即 X
我是一名优秀的程序员,十分优秀!