Chamando TaskKill em um processo responsivo. Ele também o encerra à força?

Chamando TaskKill em um processo responsivo. Ele também o encerra à força?

Eu sei que se pode usar o Windowsutilitário taskkillpara "matar" um processo que não responde. Mas o que acontece se eu chamá-lo em um processo que está em execução e não apresenta problemas - o taskkill tentará encerrá-lo normalmente primeiro?

PS. A razão pela qual estou perguntando é porque quero usar o taskkill de um script para fechar um programa, mas não o usarei se ele encerrar "à força" o processo do programa sem primeiro deixá-lo encerrar "normalmente".

Responder1

Por padrão, o utilitário taskkill enviará um sinal WM_CLOSE ao processo. Este é o mesmo sinal enviado quando você clica no x vermelho na barra de título.

Um aplicativo bem escrito ouvirá esse sinal e iniciará a limpeza e o fechamento.

Se estiver travado, não será capaz de fazer isso e, portanto, será considerado sem resposta. Taskkill aguardará o desligamento normal e solicitará ao usuário um desligamento incondicional.

Você pode usar o parâmetro /f para ir direto para o desligamento incondicional.

Portanto, em resposta à sua pergunta, se você deseja fechar um aplicativo sem força, use taskkill sem o parâmetro /f.

informação relacionada