Это было бы решение PowerShell:
Get-Process iexplore -ea 0 | where { $_.PM -le 10MB } | foreach { $Path = $_.Path [bool]$Ping = Test-Connection 8.8.8.8 -Quiet if ($Path -and $Ping) { Stop-Process $_ -Force Start-Process $Path } }
сначала он ищет все iexplore
процессы, затем фильтрует where
все процессы, у которых объем оперативной памяти меньше или равен 10 МБ. Для каждого процесса, который соответствует where
, он останавливается и перезапускает процесс
Изменить: похоже, что вы хотите запустить это в бесконечном цикле, если это так, просто оберните ваш сценарий в while
цикл, как это
while ($true) { Get-Process iexplore -ea 0 | where { $_.PM -le 10MB } | foreach { $Path = $_.Path [bool]$Ping = Test-Connection 8.8.8.8 -Quiet if ($Path -and $Ping) { Stop-Process $_ -Force Start-Process $Path } } sleep -s 1 }
если нет пути:
while ($true) { Get-Process iexplore -ea 0 | where { $_.PM -le 10MB } | foreach { [bool]$Ping = Test-Connection 8.8.8.8 -Quiet if ($Ping) { Stop-Process $_ -Force Start-Process iexplore } } sleep -s 1 }