Chamando TaskKill em um processo responsivo. Ele termina com força também?

2

Eu sei que é possível usar o utilitário taskkill do Windows para "matar" um não responsivo processo. Mas o que acontece se eu o chamar em um processo que está em execução e não tiver problemas - a tarefa tentará sair normalmente antes?

PS. A razão pela qual eu estou perguntando é porque eu quero usar taskkill de um script para fechar um programa, mas eu não vou usá-lo se ele "forçadamente" terminar o processo do programa sem primeiro deixá-lo sair "graciosamente".

    
por MikeF 30.10.2014 / 02:01

1 resposta

2

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

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

Se estiver preso, não será possível fazer isso e, portanto, será considerado não responsivo. O Taskkill irá aguardar o desligamento normal e, em seguida, solicitará ao usuário um desligamento incondicional.

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

Então, em resposta à sua pergunta, se você quiser fechar um aplicativo de maneira não forçada, use o taskkill sem o parâmetro / f.

    
por 30.10.2014 / 02:16

Tags