J'ai donc procédé j'ai commencé à partir d'un fichier de batte. Comment l'arrêter d'un autre?
Pour mettre fin à un processus dont vous connaissez le nom, essayez:
taskkill /IM notepad.exe
Cela lui demandera de fermer, mais il pourra refuser, proposer de "sauvegarder les modifications", etc. Si vous voulez le tuer de force, essayez:
taskkill /F /IM notepad.exe
Comme TASKKILL pourrait ne pas être disponible sur certaines éditions Home/Basic de Windows, voici quelques alternatives:
TSKILL processName
ou
TSKILL PID
N'oubliez pas que processName
ne doit pas avoir le suffixe .exe
et est limité à 18 caractères.
Une autre option est WMIC
:
wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate
wmic offre encore plus de flexibilité que taskkill .Avec wmic Path win32_process get
, vous pouvez voir les fichiers disponibles que vous pouvez filtrer.
Lorsque vous démarrez un processus à partir d'un fichier de commandes, il démarre en tant que processus séparé, sans indication du fichier de commandes qui l'a démarré (étant donné que l'exécution aurait été terminée entre-temps, des informations telles que l'ID de processus parent ne vous aideraient pas).
Si vous connaissez le nom du processus et qu'il est unique parmi tous les processus en cours d'exécution, vous pouvez utiliser taskkill
, comme le suggère @IVlad dans un commentaire.
Si ce n'est pas unique, vous pouvez chercher des emplois. Ceux-ci mettent fin à tous les processus enfants générés lorsqu'ils sont terminés.
Pourquoi n'utilisez-vous pas PowerShell?
Stop-Process -Name notepad
Et si vous êtes dans un fichier batch:
powershell -Command "Stop-Process -Name notepad"
powershell -Command "Stop-Process -Id 4232"
taskkill/F/IM notepad.exe c'est le meilleur moyen de supprimer la tâche du gestionnaire de tâches.