phantomjs没有关闭这个过程

时间:2015-10-19 09:49:27

标签: c# phantomjs

我试图在components中使用PhantomJS(v 2.0)测试某些内容并且没有正确关闭它,导致我的机器使用100%的CPU。< / p>

所有程序都正常工作,除了关闭它的部分。

我试过

C#

和(所有这些)

driver.Dispose();
driver.Quit();
driver.Close();

但该过程仍在任务管理器中

我试图粗暴地关闭控制台

Enviroment.Exit(-1);
Enviroment.Exit(0);
Enviroment.Exit(1);
return;

但仍无效。

有一个消息,幻影在控制台中向我显示

 Process.GetCurrentProcess().Kill();

此外,我使用硒,但我不认为有重要信息。

有什么想法吗?

感谢。

3 个答案:

答案 0 :(得分:3)

以下是我使用Selenium WebDriver和PhantomJS解决这个问题的方法。

   AADSTS70002: Error validating credentials. AADSTS50012: Authentication failed
    Trace ID: c62c9e93-f7c9-43fe-b5eb-4a6f9dfe6be0
    Correlation ID: c14f259c-3e91-4e51-9f82-8feabd35bf5d
    Timestamp: 2016-07-22 21:04:19Z

答案 1 :(得分:0)

可能的解决方案

我不打算将它标记为有效,因为它是暂时的,但是现在,解决问题的最简单/最快的方法是获取进程并手动终止它。

为什么不是最好的解决方案,因为是杀死所有PhantomJS进程,在我的情况下只有一个,然后是有效的,但是比锁定服务器更好。

foreach (Process proc in Process.GetProcessesByName("PhantomJS"))
{
    proc.Kill();
}

如果有人知道如何获得特定流程(如果有多个),我们将受到欢迎。

答案 2 :(得分:0)

这样的事情似乎在这种情况下运作良好:

        //Close Driver
    driver.Close();

    // Get the current process.
    System.Diagnostics.Process myProcess = System.Diagnostics.Process.GetCurrentProcess(); 

    // Close process by sending a close message to its main window.
    myProcess.CloseMainWindow();

    // Free resources associated with process.
    myProcess.Close();

    Environment.Exit(0);