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

La ligne de commande Windows et les fichiers batch


précédentsommairesuivant

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

Ce chapitre est une traduction de la page 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 :

 
Sélectionnez
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écessaire sur les PC domestiques.

/ID:IDsession

Arrêt du processus exécuté au cours de la session spécifiée. Souvent inutilisé sur les PC 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 :

 
Sélectionnez
tskill notepad

Cet autre exemple termine tous les documents Microsoft que vous avez ouvert :

 
Sélectionnez
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

 
Sélectionnez
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 sûr ê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 :

 
Sélectionnez
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 PC 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

 
Sélectionnez
taskkill /im notepad.exe /f

Cet autre exemple montre comment fermer plusieurs programmes en une seule commande :

 
Sélectionnez
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

Chaine 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 RÉSEAU)

WindowTitle

eq, ne

Chaine 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.

 
Sélectionnez
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.

 
Sélectionnez
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.

 
Sélectionnez
taskkill /f  /fi "memusage gt 40000"

Fermer tous les programmes utilisant plus de 40 Mo de mémoire, mais pas l'explorateur Windows.

 
Sélectionnez
taskkill /f /fi "imagename ne explorer.exe" /fi "memusage gt 40000"

précédentsommairesuivant

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