1 votes

Arrêter la tâche dans le gestionnaire de tâches fonctionne, mais taskkill dans cmd ne fonctionne pas. Pourquoi?

Je dois terminer un logiciel à chaque fois qu'il a fini de transcoder un fichier vidéo. Pour automatiser cela, j'ai créé un petit script de lot. J'ai essayé d'utiliser taskkill comme ceci :

taskkill /im taskname.exe /t /f

Mais j'obtiens toujours le message d'erreur suivant : ERREUR : Le processus avec le PID 6708 n'a pas pu être arrêté. Raison : Aucune instance en cours de la tâche.

J'ai également essayé de démarrer la fenêtre cmd en tant qu'administrateur et j'ai également essayé PowerShell. Mais quand je fais tasklist par la suite, la tâche est toujours affichée.

La chose amusante, c'est que la tâche se termine instantanément lorsque je clique avec le bouton droit dessus dans le gestionnaire des tâches et que je termine la tâche. Quelle commande appelle le "terminer la tâche" dans le gestionnaire des tâches ? Quelque chose que je peux utiliser pour automatiser dans un fichier de lot ?

2voto

schmiddl Points 131

Comme suggéré par barlop l'application en ligne de commande tierce nircmd.exe a fait le travail!

nircmd.exe killprocess processname

0voto

Jshura Points 1

Si vous ne pouvez pas le tuer par son nom, mais avez l'ID du processus, vous pouvez essayer de le tuer par PID:

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X