Назад | Перейти на главную страницу

Закрыть процесс без psKill и force?

У меня есть куча процессов на сервере, которые я хочу регулярно обновлять. Но перед обновлением их нужно закрыть и я использую PsKill за это в bat-файле. Это работает, но я ищу способ отправлять процессам только «Quit Query», чтобы они завершались более корректно. В PsKill это делается принудительно.

Как это может быть сделано ?

Говоря об исполняемых файлах на сервере, я предполагаю, что вы говорите об услугах.

Если это так, вы можете остановить их, используя «net stop», то есть «net stop certsvc», в противном случае, если исполняемые файлы работают в интерактивном режиме, например в консольном сеансе и есть окно, вы можете использовать Windows API, чтобы найти окно приложения и отправить WM_SYSCOMMAND с SC_CLOSE в качестве параметра.

Вот пример: http://www.codeproject.com/KB/dialog/closewindow.aspx.