Le gestionnaire de tâches Windows possède une colonne intitulée Ligne de commande qui montre la commande qui a démarré la tâche donnée, avec tous les commutateurs et paramètres, par exemple:
test.exe -V -A 127.0.0.1 -P 6062
Maintenant, je dois identifier une certaine tâche qui écoute sur un certain port et / ou a été appelée avec une certaine combinaison de commutateurs. Mon objectif est de fermer la tâche sélectionnée, mais pas les autres, donc s'il y a plusieurs test.exe
tâches en cours d'exécution, je ne peux pas simplement fermer toutes les tâches renvoyées par:
tasklist /fo csv /nh /fi "imagename eq test.exe"
Malheureusement, tasklist
ni ni ni pslist
( ici ) ne peut retourner le champ de ligne de commande . Comment puis-je surmonter ce problème?
windows
command-line
batch
task-manager
István Zachar
la source
la source
netstat -aon | grep \.0:6062
port 6062 et la dernière colonne serait le PID de votre programme. Je ne sais pas si cela vous suffit.tasklist /FI "PID eq <PID>"
donnerait à nouveau votre exécutable.process explorer
de Sysinternals peut les afficher dans l'interface graphique. L'info doit donc être quelque part.Réponses:
Celui-ci, ça va:
Et si vous faites cela, vous obtenez également le ProcessId à tuer:
wmic
dispose également d'un commutateur de sortie en csv. Donc:Remarque: Si vous obtenez une erreur avec le dernier (
Invalid XSL format (or) file name
), vous devez copiercsv.xml
de%WINDIR%\System32\wbem\en-US
à%WINDIR%\System32\wbem
. Vous pouvez lire ce bug ici .Vous pouvez également utiliser PowerShell:
la source
wmic
résout le problème, et cela conclut la journée. :)