У меня есть куча консольных хост-приложений, на которых размещаются службы WCF. Я вызываю файл .bat в качестве шага предварительной сборки, чтобы уничтожить все запущенные экземпляры хоста, чтобы я не получал ошибок регистрации каналов WCF (ручное уничтожение хостов консоли каждый раз, когда сборка вызывает огромную боль).
Файл .bat, который я создал, содержит следующее.
taskkill /T /F /FI "imagename eq Host.vshost.exe"
taskkill /T /F /FI "imagename eq Host.exe"
exit /B 0
Это убивает оба процесса. В TaskManager я вижу, что Host.exe пропал, а Host.vshost.exe имеет новый PID, но окно консоли все еще работает.
Кажется, что cmd.exe - это фактический процесс, на котором размещается консоль, поэтому я изменил файл .bat на этот ..
taskkill /T /F /FI "imagename eq cmd.exe"
Но это убивает все окна cmd.exe.
Как я могу настроить это так, чтобы я мог настроить таргетинг только на окно cmd конкретного Консольного приложения или есть другая команда, которую я должен использовать?