
Sé que se puede usar Windows.utilidad taskkill"matar" un proceso que no responde. Pero, ¿qué sucede si lo invoco en un proceso que se está ejecutando y no tiene problemas? ¿Taskkill intentará cerrarlo normalmente primero?
PD. La razón por la que pregunto es porque quiero usar taskkill desde un script para cerrar un programa, pero no lo usaré si termina "forzosamente" el proceso del programa sin primero dejar que se cierre "con elegancia".
Respuesta1
De forma predeterminada, la utilidad taskkill enviará una señal WM_CLOSE al proceso. Esta es la misma señal que se envía cuando haces clic en la x roja en la barra de título.
Una aplicación bien escrita escuchará esta señal e iniciará la limpieza y el cierre.
Si está atascado, no podrá hacer esto y, por lo tanto, se considerará que no responde. Taskkill esperará el apagado normal y luego solicitará al usuario un apagado incondicional.
Puede utilizar el parámetro /f para ir directamente al apagado incondicional.
Entonces, en respuesta a su pregunta, si desea cerrar una aplicación sin forzarla, use taskkill sin el parámetro /f.