Windows Power Shell 关闭无用的Chrome

来源:互联网 发布:网络机柜定制 编辑:程序博客网 时间:2024/06/05 02:12

最近在用一个以Selenium为基础的工具做自动测试,遇到一个问题。


自动测试失败后的浏览器会一直开着,这样长时间运行后,会出现很多浏览器都被打开,资源占用很高,机器性能变得很差,进而导致更多的失败。



解决方案:

关闭每个失败的浏览器

但因为我无法修改工具里面失败部分的处理代码,所以需要单独写一个监控Chrome进程的程序,一旦发现有两个Chrome浏览器打开,就关闭先打开的那个Chrome浏览器。


令人郁闷的是

1  打开一个Chrome的时候,任务管理器里面会出现多个Chrome的进程,不知道要关哪个才好

2  不知道怎么才能得到进程的打开时间


经过Google,Baidu一大圈之,排除使用Java,批处理等之后,发现Windows Power Shell脚本可以拿到进程的打开时间,可以关闭进程,总之可以关闭先打开的那个Chrome。


Shell在Win8上默认可以运行,

但需要修改权限:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

修改脚本存放的目录: Set-Location C:\Scripts


脚本:

Clear-Hostwhile(1 -eq 1){$ProcessCount = (Get-Process | Where-Object {$_.Name -eq "chrome" -and $_.HandleCount -gt 500} | Sort-Object StartTime -errorAction SilentlyContinue).Countif($ProcessCount -gt 1){$ProcessID = (Get-Process | Where-Object {$_.Name -eq "chrome" -and $_.HandleCount -gt 500} | Sort-Object StartTime -errorAction SilentlyContinue | Select-Object -first 1 ).IdWrite-Host $ProcessIDstop-process -id $ProcessIDstart-sleep -m 500}}


0 0
原创粉丝点击