2

Я знаю, что можно использовать утилиту Windows Taskkill, чтобы "убить" неотвечающий процесс. Но что произойдет, если я вызову его для процесса, который работает и не имеет проблем - будет ли TaskKill сначала попытаться выйти из него в обычном режиме?

PS. Причина, по которой я спрашиваю, состоит в том, что я хочу использовать taskkill из скрипта, чтобы закрыть одну программу, но я не буду использовать ее, если она "принудительно" завершит процесс программы, не позволив ей сначала выйти "изящно".

1 ответ1

2

По умолчанию утилита taskkill отправит процессу сигнал WM_CLOSE. Это тот же сигнал, который посылается, когда вы нажимаете на красный крестик в заголовке.

Хорошо написанное приложение будет прослушивать этот сигнал и инициировать очистку и закрытие.

Если он застрянет, он не сможет этого сделать, и поэтому считается, что он не отвечает. Taskkill будет ждать нормального завершения работы, а затем предложит пользователю выполнить безусловное отключение.

Вы можете использовать параметр /f, чтобы перейти прямо к безусловному отключению.

Поэтому, в ответ на ваш вопрос, если вы хотите принудительно закрыть приложение, используйте taskkill без параметра /f.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .