¿Cómo finalizar una tarea desde un archivo por lotes que no es un proceso?

1

Tengo un archivo por lotes que está iniciando un script (python one). Estoy buscando un comando de Windows que terminará el script. taskkill está trabajando en procesos y no hay un proceso único aquí, así que estoy buscando algún comando que simule hacer clic derecho en la tarea y elegir "finalizar tarea".

Aquí está la tarea como se muestra en el administrador de tareas de Windows.

ingrese la descripción de la imagen aquí

Gracias

omer bach
fuente
2
Puede filtrar las tareas por el título de su ventana, por ejemplo taskkill /fi "windowtitle eq C:\Windows\system32\cmd.exe - SAM"(los títulos no distinguen entre mayúsculas y minúsculas).
y31415

Respuestas:

3

Sí, su cmd.exe taskkill puede matar a cmd.exe por usted. Si necesita poder terminarlo con un nombre personalizado, inicie el script con el startcomando, que le permite darle a su programa un título único.

Supongamos que usó MyApp Test como título al iniciar su script de la siguiente manera:

start "MyApp Test" c:\python.py

Ahora puedes matar tu script usando:

taskkill /f /FI "WINDOWTITLE eq MyApp Test"

Alternativamente, pero un poco arriesgado, probablemente pueda matar la tarea directamente usando el siguiente comando:

taskkill /f /FI "WINDOWTITLE eq *cmd.exe - SAM"

EDITAR: Como señala and31415, el modificador / f no es necesariamente necesario. Se usa para forzar la muerte de una tarea. Esto significa que si un script de Python ya no responde, / f lo matará, mientras que sin / f podría no hacerlo. Pruebe sin y, si funciona, decida si quiere matarlo a la fuerza o no.

LPChip
fuente
1
Algunas observaciones: 1. Los títulos de Windows no distinguen entre mayúsculas y minúsculas, y 2. Si desea replicar el comportamiento del botón Finalizar tarea , debe omitir el /fparámetro (forzar la muerte). A menos que realmente quieras matarlo, eso es. Lectura adicional: technet.microsoft.com/en-us/library/cc725602.aspx
y31415
@ and31415 gracias. Agregué tu / f comentario a la solución. En cuanto al título que no distingue entre mayúsculas y minúsculas, lo escribí teniendo en cuenta las mayúsculas y minúsculas solo porque se ve mucho mejor en la respuesta, y realmente no importa.
LPChip
De nada. Estoy de acuerdo en que se ve estéticamente mejor de esa manera. De todos modos, elegir un título personalizado solo funciona con programas basados ​​en la línea de comandos. Por ejemplo, esto no tendrá ningún efecto:start "Some title" calc.exe
y31415
Hola, cuando intento taskkill / f / FI "WINDOWTITLE eq * .SAM" me sale: ERROR: no se puede reconocer el filtro de búsqueda.
omer bach
Sí, porque tu título no es ??????. SAM. No hay . Intenta en su * - SAMlugar.
LPChip