es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué no está funcionando taskkill en batch para mí?

Estoy tratando de finalizar GTA 5 cuando no responde, pero cuando ejecuto el archivo por lotes, dice:

“ÉXITO: Se envió una señal de terminación al proceso con PID 3220.”

Pero no lo detiene.

taskkill /fi "imagename eq GTA5.exe" /fi "status eq Not Responding"

También intenté utilizar tasklist y extraer de él si la tarea no responde, pero no descubrí cómo hacerlo.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en archivos por lotes y taskkill, puedo ofrecer algunas soluciones potenciales al problema de terminar GTA 5 cuando se vuelve irresponsivo.

    El primer comando que se intentó, taskkill /fi "imagename eq GTA5.exe" /fi "status eq Not Responding", debería funcionar en teoría. Sin embargo, si en realidad no está terminando el proceso aunque informe que tiene éxito, puede haber algunas razones para esto. Una posibilidad podría ser que haya otras instancias de GTA 5 ejecutándose simultáneamente que sigan respondiendo, y por lo tanto el proceso irresponsivo no se está terminando. Para comprobar esto, se puede agregar la bandera /t al comando taskkill, lo cual terminará todos los procesos secundarios asociados con el ID del proceso especificado. Alternativamente, se puede agregar la bandera /f, lo cual forzará al proceso a terminar incluso si no responde a la señal de terminación.

    Otro enfoque que se mencionó fue usar el comando tasklist para identificar si el proceso de GTA 5 no responde, y luego terminarlo usando taskkill. Para hacer esto, se puede agregar la bandera /v a tasklist para incluir información sobre el estado de cada proceso. La salida puede ser redirigida a findstr para filtrar el nombre del proceso y la cadena “Not Responding”. La salida resultante puede ser parseada para extraer el ID del proceso, el cual luego se puede usar como entrada para el comando taskkill. Un comando de muestra para lograr esto podría ser:

    for /f "tokens=2" %%i in ('tasklist /v ^| findstr /i "GTA5.exe Not Responding"') do taskkill /pid %%i /f
    

    Este comando recorre en bucle la salida de tasklist, filtra las líneas que contienen “GTA5.exe” y “Not Responding”, y extrae el segundo token (que corresponde al ID del proceso) usando el comando for /f. El ID extraído se pasa luego a taskkill, junto con la bandera /f para forzar la terminación.

    En general, identificar la causa raíz por la cual el comando taskkill no está terminando el proceso y ajustar el comando en consecuencia o usar tasklist para identificar el proceso irresponsivo, pueden ser estrategias efectivas para terminar GTA 5 cuando se vuelve irresponsivo.

Comments are closed.