Тема: AHK: Закрытие устаревших дочерних процессов
Не знаю, правильно ли назвал тему или нет. Пока что наработок нет, еще не придумал что в моем случае можно сделать.
Суть проблемы следующая. Есть некое приложение Krutub.exe, которое в процессе своей работы создает еще один процесс CefSharp.BrowserSubprocess.exe. По идее по окончанию работы с одним процессом CefSharp.BrowserSubprocess.exe он должен его закрывать и открывать новый, но по какой то известной только разработчику причине, он этого не делает. И если открыть диспетчер задач, то можно увидеть кучу мусора, который кушает физическую память.
Тут я пытался вставить ссылку на скрин, который я залил в атач.
Так вот! Как бы при помощи AHK, убивать устаревшие процессы? Т.е. крутуб.ехе имеет открытый CefSharp.BrowserSubprocess.exe и когда открывается новый CefSharp.BrowserSubprocess.exe, старый убивался?
Одна из идей была, при открытии CefSharp.BrowserSubprocess.exe, записывать его PID и при появлении еще одного CefSharp.BrowserSubprocess.exe, у которого будет другой PID, закрывать первый. Но тут пришла другая проблема. На одном компьютере может быть запущено 2 программы Krutube.exe и обе буду создавать дочерние процессы CefSharp.BrowserSubprocess.exe. Т.е. если сделать так, как я сначала подумал, то при создании другой программой процесса с таким именем, он будет закрывать действующий процесс.
Самый реальный вариант на данный момент, мне кажется это использовать RunWait, но с ним я еще не работал и как реализовать еще не разобрался. РанВайт мне нравится тем, что я указываю путь откуда будет запущена программа, так как у 2х Krutube.exe и соответственно дочерних процессов разные папки дислокации.
Так же еще вариант Proccess Wait, но тут возвращаемся к 2м параллельно запущенным программам.
Ну и тот же WinWait, но тут снова кость в горле это множество одинаковых окон.
Укажите правильный путь, подскажите как можно реализовать мою задачу?