【问题标题】:phantomjs exit() doesn't terminate the processphantomjs exit() 不会终止进程
【发布时间】:2017-02-24 23:23:51
【问题描述】:

我在 Windows 7 上使用 phantom.js 已经有一段时间了(我认为 v1.4.0 是我使用的第一个版本)并且一切都很好。但是由于某种原因,调用 phantom.exit() 时该进程不再正确终止,我完全不知道为什么。

问题从一天到另一天开始在 v1.7.0 中出现。一切都曾经在 1.7.0 中正常工作,但后来就没有了。即使升级到 1.8.0 和现在的 1.9.0,它仍然无法正常工作。控制台只是挂起。我不能输入任何东西,phantomjs.exe 仍然列在任务管理器的进程列表中,即使 CTRL+C 也不执行任何操作。整个事情都被冻结了。

控制台中的下划线闪烁,好像它需要更多输入,但我无法输入任何内容。我唯一的机会是使用 [X] 按钮关闭 cmd 窗口,这对于自动化测试来说是完全愚蠢的。

我使用从http://phantomjs.org/ 下载的预编译二进制文件,正如我所说:它从一天到另一天停止工作。我什至重新安装了几次,甚至重新安装到不同的文件夹,但该过程不再终止。谁知道问题可能是什么?

【问题讨论】:

  • 你提供了一个 REPL 模式的例子?仅适用于这种模式吗?请注意,来自团队,“这是一个新功能,它构建了各种 Javascript 操作:存在错误”

标签: windows phantomjs


【解决方案1】:

当您有两张卡时,这是 Nvidia 驱动程序的一个已知问题。 要解决此问题,您需要在 NVidia 控制面板中选择“高性能 NVidia 处理器”(NVidia 控制面板 > 管理 3D 设置 > 全局设置)。

在此处阅读更多信息:https://github.com/ariya/phantomjs/issues/10845

【讨论】:

  • 哇,它有效!谢谢!我一直在寻找解决方案很长时间了!
  • 如果您不想更改全局设置,只能通过(NVidia 控制面板 > 管理 3D 设置 > 程序设置)并选择 phantomjs.exe 作为程序来完成 phantomjs.exe和高性能 NVidia 处理器作为首选图形处理器。
  • 这是我见过的最奇怪的因果错误之一! :D
  • 对于使用 C# 的女士们和先生们,请确保调用 Quit 或 Dispose,而不是 Close:stackoverflow.com/q/15067107/681538
  • 你怎么知道的?!? :)
猜你喜欢
  • 2012-02-08
  • 2016-04-16
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多