在执行Runtime.getRuntime()。exec(“ taskkill / F / IM IEDriverServer.exe”)之前,如何验证IEDriverServer.exe是否已在运行;

时间:2019-01-18 03:20:08

标签: java selenium selenium-webdriver process exe

当我们执行以下代码时

Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe"); 

IEDriverServer被杀死(如果存在)

如何验证IEDriverServer.exe是否已在运行..以便只有在运行时,我们才会杀死.exe

1 个答案:

答案 0 :(得分:-2)

要在执行第Runtime.getRuntime().exec(“taskkill /F /IM IEDriverServer.exe”);行之前检查 IEDriverServer.exe (任何 WebDriver 变体)是否已在运行,您需要知道其中的任务名称任务管理器,并使用以下解决方案相应地调用taskkill

Process p =Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
BufferedReader input =  new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
    pidInfo+=line; 
}
input.close();

if(pidInfo.contains("IEDriverServer.exe"))
{
    Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe"); //geckodriver.exe or chromedriver.exe
}
  

在这里您可以找到有关check if some exe program is running on the windows的详细讨论