У меня есть куча процессов на сервере, которые я хочу регулярно обновлять. Но перед обновлением их нужно закрыть и я использую PsKill за это в bat-файле. Это работает, но я ищу способ отправлять процессам только «Quit Query», чтобы они завершались более корректно. В PsKill это делается принудительно.
Как это может быть сделано ?
Говоря об исполняемых файлах на сервере, я предполагаю, что вы говорите об услугах.
Если это так, вы можете остановить их, используя «net stop», то есть «net stop certsvc», в противном случае, если исполняемые файлы работают в интерактивном режиме, например в консольном сеансе и есть окно, вы можете использовать Windows API, чтобы найти окно приложения и отправить WM_SYSCOMMAND с SC_CLOSE в качестве параметра.
Вот пример: http://www.codeproject.com/KB/dialog/closewindow.aspx.