Script de lot - Processus
Dans ce chapitre, nous aborderons les différents processus impliqués dans Batch Script.
Affichage de la liste des processus en cours d'exécution
Dans Batch Script, la commande TASKLIST peut être utilisée pour obtenir la liste des processus en cours d'exécution dans un système.
Syntaxe
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. | Options et description |
---|---|
1. | /S system Spécifie le système distant auquel se connecter |
2. | /U [domain\]user Spécifie le contexte utilisateur dans lequel la commande doit s'exécuter. |
3. | /P [password] Spécifie le mot de passe pour le contexte utilisateur donné. Invite à saisir si omis. |
4. | /M [module] Répertorie toutes les tâches utilisant actuellement le nom exe / dll donné. Si le nom du module n'est pas spécifié, tous les modules chargés sont affichés. |
5. | /SVC Affiche les services hébergés dans chaque processus. |
6. | /V Affiche des informations détaillées sur les tâches. |
sept. | /FI filter Affiche un ensemble de tâches qui correspondent à un critère donné spécifié par le filtre. |
8. | /FO format Spécifie le format de sortie. Valeurs valides: "TABLE", "LIST", "CSV". |
9. | /NH Spécifie que «l'en-tête de colonne» ne doit pas apparaître dans la sortie. Valable uniquement pour les formats "TABLE" et "CSV". |
Exemples
TASKLIST
La commande ci-dessus obtiendra la liste de tous les processus en cours d'exécution sur votre système local. Voici un instantané de la sortie qui est rendue lorsque la commande ci-dessus est exécutée telle quelle. Comme vous pouvez le voir dans la sortie suivante, non seulement vous obtenez les différents processus en cours d'exécution sur votre système, mais vous obtenez également l'utilisation de la mémoire de chaque processus.
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 4 K
System 4 Services 0 272 K
smss.exe 344 Services 0 1,040 K
csrss.exe 528 Services 0 3,892 K
csrss.exe 612 Console 1 41,788 K
wininit.exe 620 Services 0 3,528 K
winlogon.exe 648 Console 1 5,884 K
services.exe 712 Services 0 6,224 K
lsass.exe 720 Services 0 9,712 K
svchost.exe 788 Services 0 10,048 K
svchost.exe 832 Services 0 7,696 K
dwm.exe 916 Console 1 117,440 K
nvvsvc.exe 932 Services 0 6,692 K
nvxdsync.exe 968 Console 1 16,328 K
nvvsvc.exe 976 Console 1 12,756 K
svchost.exe 1012 Services 0 21,648 K
svchost.exe 236 Services 0 33,864 K
svchost.exe 480 Services 0 11,152 K
svchost.exe 1028 Services 0 11,104 K
svchost.exe 1048 Services 0 16,108 K
wlanext.exe 1220 Services 0 12,560 K
conhost.exe 1228 Services 0 2,588 K
svchost.exe 1276 Services 0 13,888 K
svchost.exe 1420 Services 0 13,488 K
spoolsv.exe 1556 Services 0 9,340 K
tasklist > process.txt
La commande ci-dessus prend la sortie affichée par tasklist et l'enregistre dans le fichier process.txt.
tasklist /fi "memusage gt 40000"
La commande ci-dessus ne récupérera que les processus dont la mémoire est supérieure à 40 Mo. Voici un exemple de sortie qui peut être rendu.
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
dwm.exe 916 Console 1 127,912 K
explorer.exe 2904 Console 1 125,868 K
ServerManager.exe 1836 Console 1 59,796 K
WINWORD.EXE 2456 Console 1 144,504 K
chrome.exe 4892 Console 1 123,232 K
chrome.exe 4976 Console 1 69,412 K
chrome.exe 1724 Console 1 76,416 K
chrome.exe 3992 Console 1 56,156 K
chrome.exe 1168 Console 1 233,628 K
chrome.exe 816 Console 1 66,808 K
Tuer un processus particulier
Permet à un utilisateur exécutant Microsoft Windows XP Professionnel, Windows 2003 ou une version ultérieure de supprimer une tâche à partir d'une ligne de commande Windows par ID de processus (PID) ou nom d'image. La commande utilisée à cet effet est la commande TASKILL.
Syntaxe
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter]
[/PID processid | /IM imagename] } [/T] [/F]
S.No. | Options et description |
---|---|
1. | /S system Spécifie le système distant auquel se connecter |
2. | /U [domain\]user Spécifie le contexte utilisateur dans lequel la commande doit s'exécuter. |
3. | /P [password] Spécifie le mot de passe pour le contexte utilisateur donné. Invite à saisir si omis. |
4. | /FI FilterName Applique un filtre pour sélectionner un ensemble de tâches. Permet d'utiliser "*". ex. imagename eq acme * Voir les filtres ci-dessous pour plus d'informations et des exemples. |
5. | /PID processID Spécifie le PID du processus à terminer. Utilisez TaskList pour obtenir le PID. |
6. | /IM ImageName Spécifie le nom d'image du processus à arrêter. Le caractère générique '*' peut être utilisé pour spécifier toutes les tâches ou tous les noms d'image. |
sept. | /T Met fin au processus spécifié et à tous les processus enfants qui ont été démarrés par lui. |
8. | /F Spécifie de forcer l'arrêt du ou des processus. |
Exemples
taskkill /f /im notepad.exe
La commande ci-dessus tue la tâche ouverte du bloc-notes, si elle est ouverte.
taskill /pid 9214
La commande ci-dessus tue un processus qui a un processus de 9214.
Démarrer un nouveau processus
Les scripts DOS ont également la possibilité de démarrer un nouveau processus. Ceci est réalisé en utilisant la commande START.
Syntaxe
START "title" [/D path] [options] "command" [parameters]
Où
title - Texte de la barre de titre de la fenêtre CMD (obligatoire.)
path - Répertoire de départ.
command - La commande, le fichier batch ou le programme exécutable à exécuter.
parameters - Les paramètres passés à la commande.
S.No. | Options et description |
---|---|
1. | /MIN Fenêtre de démarrage réduite |
2. | /MAX Fenêtre de démarrage agrandie. |
3. | /LOW Utilisez la classe de priorité IDLE. |
4. | /NORMAL Utilisez la classe de priorité NORMAL. |
5. | /ABOVENORMAL Utilisez la classe de priorité ABOVENORMAL. |
6. | /BELOWNORMAL Utilisez la classe de priorité BELOWNORMAL. |
sept. | /HIGH Utilisez la classe de haute priorité. |
8. | /REALTIME Utilisez la classe de priorité REALTIME. |
Exemples
START "Test Batch Script" /Min test.bat
La commande ci-dessus exécutera le script batch test.bat dans une nouvelle fenêtre. Les fenêtres démarreront en mode réduit et porteront également le titre «Test Batch Script».
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
La commande ci-dessus exécutera effectivement Microsoft Word dans un autre processus, puis ouvrira le fichier TESTA.txt dans MS Word.