En Windows, ¿cómo puedo pedir con gracia a un programa en ejecución que finalice?


17

En Unix o Linux, es fácil pedir con gracia a una aplicación en ejecución que finalice: le envía la señal SIGTERM. Si su ID de proceso es 1234, simplemente puede ejecutar kill 1234o kill -s TERM 1234o kill -15 1234.

¿Cómo puedo hacer lo mismo en Windows?

Si recuerdo correctamente, la función "Finalizar tarea" del Administrador de tareas (no su función "Finalizar proceso") hacía lo que quería. Pero, a partir de Windows 8.1, ya no es tan suave; cuando uso la función, me hace perder datos no guardados.

No quiero escribir ningún código para hacer esto. Si lo hiciera, preguntaría sobre Stack Overflow. :)


2
Si es un desarrollador de software y desea hacer esto mediante programación, consulte la pregunta relacionada sobre el desbordamiento de pila sobre cómo solicitar con gracia que finalice un proceso .
unforgettableidSupportsMonica

44
No hay nada elegante en Windows ........
Moab

Respuestas:


17

taskkill.exe

Andy E escribe que puedes usar taskkill.exe.

Para finalizar el proceso con el ID de proceso 1234:

taskkill /pid 1234

Para finalizar notepad.exe:

taskkill /im notepad.exe

Para más ayuda:

taskkill /?

Él añade:

El /finterruptor forzaría la eliminación, pero no usarlo solo envía la señal de finalización para que la aplicación se cierre con gracia.

El tiene razón. Intenté usar taskkill.exe (sin /f) para terminar el Bloc de notas, y funcionó como se esperaba. El Bloc de notas me preguntó si quería o no guardar el texto no guardado que había ingresado.

Estoy usando la versión doméstica de Windows 8.1. Parece que taskkill.exeviene incluido con Windows sin cargo adicional. Está en c:\windows\system32.

O simplemente cierre sesión

Si no desea molestarse con nada de esto, simplemente cierre la sesión de su cuenta de usuario de Windows, luego vuelva a iniciarla.

Aplicaciones de consola

Con respecto a las aplicaciones de consola (por ejemplo, PowerShell), Chris Becke agrega :

No hay una forma real de cerrar las aplicaciones de consola con gracia en Windows. Necesitan apoyar algún tipo de mecanismo de cierre elegante.


Tenga en cuenta que esto no replica exactamente lo que sucede al cerrar sesión o al apagarse; para eso, consulte stackoverflow.com/questions/520910/…
Matt McHenry

5

Puede usar rmlogotest.exe(la herramienta de prueba de logotipo de reinicio del administrador). Esta utilidad gratuita, escrita por Microsoft, forma parte del Kit de certificación de aplicaciones de Windows.

Para obtener la última versión del Kit de certificación de aplicaciones de Windows, descargue y ejecute el instalador del SDK de Windows. (Puede encontrar el último instalador del SDK de Windows haciendo una búsqueda en Google). Desmarque todas las casillas excepto la casilla Kit de certificación de aplicaciones de Windows. Espere a que se descargue e instale el kit. Si no recuerdo mal, el kit tiene un par de cientos de megabytes.

rmlogotest.exeprobablemente estará en C:\Program Files (x86)\Windows Kits\10\App Certification Kitsi está utilizando la versión 10 del SDK de Windows.

Abra un símbolo del sistema. Cambie al directorio correcto. Ingrese rmlogotestluego un espacio y luego el número de identificación del proceso.

Si el proceso es "Reiniciar el administrador consciente", rmlogotestlo reiniciará con gracia y le dirá "Validación de logotipo aprobada". De lo contrario, rmlogotestle pedirá que finalice con gracia, luego puede decirle "Error de validación del logotipo".

Traté de usar rmlogotest.exepara terminar el Bloc de notas, y funcionó como se esperaba. El Bloc de notas me preguntó si quería o no guardar el texto no guardado que había ingresado.

(En caso de que se pregunte qué es y qué hace el Administrador de reinicio, permítame explicarlo. El Administrador de reinicio es parte de Windows, y lo utiliza Windows Installer 4.0 y versiones posteriores. Cuando el Instalador de Windows necesita sobrescribir o eliminar un archivo abierto, utiliza tres paso proceso. Le dice a Restart Manager que finalice con gracia el proceso que está usando el archivo. Sobrescribe el archivo. Luego le dice a Restart Manager que inicie el proceso nuevamente.)


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.