Внесу свои 5 копеек
использую powershell скрипт который определяет что если превышен порог RAM, то убивает процесс и перезапускает его через 5 сек, таким образом скрипт отрабатывает как надо.
Но важно для использования в зенки надо предусмотреть безопасность правильного завершение и шаблонов в том числе,
так как может работать много шаблонов и кто его знает как будет выполнено в итоге.
Я думаю не сколько тестов с этим скриптом прояснят ситуацию.
скрипт powershell:
process = сама программа которую надо контролировать
processPath = полный путь к программе
"50000" = здесь меняем на значение RAM в килобайтах по экспериментируйте со значениями которые Вас устроят
Важно! Есть разные версии PowerShell основной синтаксис может отличаться
Сохранить данный код можно в файл StopStartProcess.ps1
while(1)
{
# Прямой путь к программе
$process = "sublime_text"
$processPath = "C:\Program Files\Sublime Text 3\sublime_text.exe"
# Задержка сколько спим
$sleepTimout = 5
sleep -Seconds $sleepTimout
$proc = (Get-Process $process -ea 0)| where {$_.ws/1024 -gt "50000"}
if ($proc)
{
Stop-Process -id $proc.id
Write-Host "closed process"
sleep -Seconds 5
Start-Process $processPath
Write-Host "Start process"
}
}