IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

La ligne de commande Windows et les fichiers batch

Date de publication : 6 avril 2009


XX. Gérer les programmes de Windows : Tskill et Taskkill
XX-A. Tskill
XX-B. Taskkill
XX-C. Filtrer le résultat de Taskkill
XX-D. Exemple d'utilisation des filtres dans Taskkill


XX. Gérer les programmes de Windows : Tskill et Taskkill

info Ce chapitre est une traduction de la page en http://commandwindows.com/taskkill.htm dont l'auteur original est Victor Laurie.
Windows XP est fourni avec plusieurs outils pour terminer les programmes ou les processus à partir de l'invite de commande. Ce chapitre décrit les fonctionnalités et les utilisations de Taskkill et Tskill.

Il est parfois souhaitable de terminer un programme ou un processus à partir de la ligne de commande. Le processus peut être planté ou ne pas répondre ou vous souhaitez peut-être avoir un script pour le terminer. Les deux versions de Windows XP (Familiale et Professionnelle) sont fournies avec l'outil Tskill. XP Professionnel dispose en plus d'un outil plus puissant : Taskkill. Bien que l'interface graphique du Gestionnaire de Tâches puisse être utilisée pour terminer les programmes qui sont plantés, la ligne de commande peut être plus rapide et plus facile à utiliser. De même, dans certaines situations, il peut être pratique d'avoir un fichier batch qui se lance comme un script. De plus, Taskkill est capable d'utiliser des filtres sophistiqués.


XX-A. Tskill

La syntaxe de cette commande est :
TSKILL IDprocessus | NomProcessus [/SERVER:NomServeur] [/ID:IDsession | /A] [/V]
La signification des différents paramètres est donnée dans le tableau I.

Tableau I. Paramètres de la commande Tskill

Paramètre Description
processid PID du processus à terminer. Utiliser uniquement si processname n'est pas utilisé
processname Nom du processus à terminer. Les jokers peuvent être utilisés ici. Ne pas utiliser si le PID est utilisé.
/SERVER:NomServeur Serveur contenant l'ID de processus (ID actuel par défaut). Généralement pas nécessaires sur les PCs domestiques.
/ID:IDsession Arrêt du processus exécuté au cours de la session spécifiée. Souvent inutilisé sur les PCs domestiques.
/A Arrêt du processus exécuté au cours de TOUTES les sessions (nécessite les privilèges d'administration).
/V Affiche les informations sur les actions exécutées.
Voici un exemple d'une commande simple pour terminer Notepad :
tskill notepad
Cet autre exemple termine tous les documents Microsoft qui vous avez ouvert :
tskill winword
Tous les documents Word ouverts seront fermés mais le contenu ne sera pas enregistré donc commencez par sauvegarder vos documents importants. Un administrateur peut terminer les processus qui s'exécutent dans des sessions démarrées par d'autres utilisateurs. La commande
tskill winword /a
va fermer les documents Word de tous les utilisateurs.

Il n'est pas toujours évident de savoir quel nom de processus utiliser pour un programme. En général, le nom du fichier exécutable (sans l'extension EXE) fonctionne. Une méthode utilisable est de se servir de Tasklist pour trouver le PID et utiliser celui-ci. Une autre méthode est d'utiliser le Gestionnaire des tâches pour trouver le processus associé à un programme. (Le Gestionnaire de tâches peut bien sur être utilisé pour terminer un programme).


XX-B. Taskkill

Taskkill est un outil qui dispose de plus d'options. La syntaxe de la commande est :
TASKKILL [/S système] [/U utilisateur [/P [mot_passe]]]] { [/FI filtre] [/PID ID_processus | /IM image] } [/F] [/T]
Les différents paramètres sont décrits dans le tableau II.

Tableau II. Paramètres de la commande Taskkill

Paramètre Description
/S système Spécifie le système distant auquel se connecter. N'est pas nécessaire pour l'ordinateur local
/U utilisateur Spécifie le contexte utilisateur sous lequel la commande doit s'exécuter. Souvent inutilisé sur les PCs domestiques.
/P mot_de_passe Mot de passe pour l'utilisateur
/FI filtre Affiche un ensemble de tâches qui correspond au critère spécifié par le filtre.
/PID ID_processus Spécifie le PID du processus à terminer. Non utilisé quand le nom de l'image est donné dans la commande
/IM image Spécifie le nom de l'image du processus à terminer. Le joker "*" peut être utilisé pour spécifier tous les noms d'image. Non utilisé si le PID est donné dans la commande
/F Force la fermeture de tous les processus
/T Met fin au processus spécifié et tous les processus enfant qu'il a démarrés.
Les paramètres comme le nom de l'image ou le PID peuvent ne pas être immédiatement évidents à trouver mais Tasklist peut être utilisé pour les obtenir. Taskkill a plus d'options que Tskill et est donc plus compliqué à utiliser. Par exemple la simple commande "Taskkill notepad" ne va pas fonctionner. D'abord, le nom de l'image est "notepad.exe" et non pas le nom du programme "notepad". De plus, vous allez généralement devoir utiliser le commutateur de forçage /F. La commande pour fermer notepad sera alors
taskkill /im notepad.exe /f
Cet autre exemple montre comment fermer plusieurs programmes en une seule commande :
taskkill /f /im notepad.exe /im mspaint.exe
La documentation n'est pas précise sur le fait d'utiliser le commutateur /f avant ou après le nom de l'image, mais il semble que cela n'a pas d'importance.


XX-C. Filtrer le résultat de Taskkill

Taskkill devient particulièrement puissant quand on utilise les filtres avec le commutateur "/fi". Diverses règles peuvent être formées à l'aide des opérateurs de comparaison indiqués dans le tableau III.

Tableau III. Opérateurs de comparaison pour les filtres

Opérateur Description
eq Egal (equals)
ne Est différent de (Not equals)
gt Plus grand que (Greater Than). Utilisé uniquement avec des valeurs numériques
lt Plus petit que (Less Than) Utilisé uniquement avec des valeurs numériques
ge Supérieur ou égale à (Greater or Equals) Utilisé uniquement avec des valeurs numériques
le Inférieur ou égale (Less or Equal) Utilisé uniquement avec des valeurs numériques
Le tableau IV indique les variables qui peuvent être utilisées dans un filtre.

Tableau IV. Opérateurs des filtres et valeurs autorisées

Paramètre Opérateurs valides Valeurs valides
ImageName eq, ne Chaîne de caractères valide
PID eq, ne, gt, lt, ge, le Entier positif valide
MemUsage eq, ne, gt, lt, ge, le Entier positif valide en kilo-octets
CPUTime eq, ne, gt, lt, ge, le Temps processeur au format hh:mm:ss.
Session eq, ne, gt, lt, ge, le Numéro de session
Status eq, ne Running, Not Responding
Username eq, ne Un nom d'utilisateur valide (peut être SYSTEM, SERVICE LOCAL, SERVICE RESEAU)
WindowTitle eq, ne Chaîne de caractères valide
Services eq, ne Nom de service
Modules eq, ne Nom de DLL

XX-D. Exemple d'utilisation des filtres dans Taskkill

Avec les filtres, vous pouvez imposer un ensemble de conditions qui doivent être respectées. Les filtres donnent à Taskkill une souplesse considérable et vous permettent de définir finement la cible. Quelques exemples sont donnés ci-dessous. Remarquez qu'il n'est pas nécessaire d'utiliser un nom d'image spécifique ou un PID quand vous utilisez les filtres.

Forcer la fermeture de tous les processus qui ne répondent pas. Peut être utilisé pour créer un petit fichier batch qui termine les programmes plantés ou figés.
taskkill /f /fi "status eq not responding"
Forcer la fermeture de tous les programmes utilisant un fichier DLL spécifique appelé "some.dll". Cela doit être utilisé avec prudence mais une utilisation peut être de terminer les processus associés avec une DLL provenant d'un spyware ou d'un cheval de Troie. Utilisez Tasklist pour voir quels sont les programmes qui utilisent une DLL donnée.
taskkill /f /fi "modules eq some.dll"
Fermer tous les programmes qui utilisent une grande quantité de mémoire, par exemple 40 Mo. Utiliser avec précaution.
taskkill /f  /fi "memusage gt 40000"
Fermer tous les programmes utilisant plus de 40 Mo de mémoire mais pas l'explorateur Windows.
taskkill /f /fi "imagename ne explorer.exe" /fi "memusage gt 40000"
 

Valid XHTML 1.0 TransitionalValid CSS!

Copyright traduction ©2009 Thomas Garcia. Aucune reproduction, même partielle, ne peut être faite de cette traduction et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 Euros de dommages et intérets.
Copyright site web original : Victor Laurie