Dies wäre eine PowerShell-Lösung:
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 } }
Zuerst sucht es nach allen iexplore
Prozessen und filtert dann in where
allen Prozessen, die einen RAM-Verbrauch von 10 MB oder weniger aufweisen. Für jeden Prozess, der mit dem übereinstimmt where
, wird der Prozess angehalten und neu gestartet
Edit: es sieht aus wie Sie dies in einer Endlos - Schleife ausgeführt werden soll, wenn ja, nur wickeln Ihr Skript in einer while
Schleife wie diese
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 }
Wenn es keinen Pfad gibt:
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 }