【问题标题】:xvfb-run: line 171: kill: (25939) - No such processxvfb-run: line 171: kill: (25939) - 没有这样的进程
【发布时间】:2015-05-28 10:42:08
【问题描述】:

所有自动化测试都成功运行。但是 xvfb 问题会导致 Jenkins 中的构建失败。

我在 Jenkins 下的 ExecuteShell 选项中使用了下面的命令来在无头浏览器上运行我的测试用例

/usr/bin/xvfb-run /usr/local/apache-maven-3.3.1/bin/mvn clean test -Dbrowser=firefox 

得到以下输出:

Results :

Tests run: 22, Failures: 0, Errors: 0, Skipped: 0


[INFO] BUILD SUCCESS

[INFO] Total time: 10:19 min

[INFO] Final Memory: 20M/47M


/usr/bin/xvfb-run: line 171: kill: (25939) - No such process

Build step 'Execute shell' marked build as failure

正如我们在输出 [INFO] BUILD SUCCESS 中看到的那样。 但是/usr/bin/xvfb-run: line 171: kill: (25939) - No such process 导致构建失败。

有人可以为此提供一些解决方法吗?

【问题讨论】:

  • xvfb-run 的第 171 行是什么?脚本是否在线可以看到?
  • xvfb-run 正在运行一堆代码。不知道哪一行是 171。
  • 看起来是不是很像this?问题是,由于某种原因,Xvfb 在脚本试图杀死它时已经死了,所以kill 失败了。我不知道为什么会这样。您可以修改脚本来处理这种情况,但它显然不认为这是通常应该发生的事情。
  • 添加“-e /tmp/xvfb.log”以从 xvfb 获取日志。这可能有助于隔离问题。
  • 我在与 wkhtmltopdf 交互时遇到同样的问题

标签: shell maven jenkins xvfb


【解决方案1】:

我在尝试运行 wkhtmltopdfxvfb-run 时遇到了同样的问题。

在我的 PHP 脚本中,我在同一个脚本中多次执行了/usr/bin/xvfb-run /usr/bin/wkhtmltopdf ...。第一个始终有效,但第二个始终失败,出现您发布的相同错误。

-e /tmp/xvfb.log 添加到第二个命令会在日志中显示:

致命的服务器错误:(EE)服务器已经为显示活动 99 如果 此服务器不再运行,删除 /tmp/.X99-lock 并启动 再次。

我的解决方案是在命令中添加-a 标志:

/usr/bin/xvfb-run -a /usr/bin/wkhtmltopdf ...

这将告诉 xvfb-run “尝试获取一个免费的服务器编号,从 --server-num 开始”。

【讨论】:

  • 感谢@brian,仅供评论......现在该选项似乎已弃用,新选项是 option -d / --auto-display
  • 哦,不知道。它有什么变化?谢谢。
【解决方案2】:

我可以用一个小技巧跳过同样的错误:

sleep(10);

在我的代码上...结束一个任务并让我的 PHP 代码休眠后,我可以运行另一个任务而不会出现任何错误...按照我的 PHP 脚本...

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 1970-01-01
    • 2019-02-19
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多