Batch Script Process
Various Batch Script commands involving Windows processes will be discussed below.
Viewing the List of Running Processes
In Batch Script, the tasklist
command can be used to get the list of processes currently running in a system.
tasklist[/s system [/u username [/p [password]]] [/m [module] | /svc | /v] [/fi filter]
[/fo format] [/nh]
The options that can be presented to the tasklist
command are described below.
Option | Description |
---|---|
/s system | Specifies the remote system to connect to |
/u [domain\]user | Specifies the user context under which the command should execute. |
/p [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/m [module] | Lists all tasks currently using the given exe/dll name. If the module name is not specified all loaded modules are displayed. |
/svc | Displays services hosted in each process. |
/v | Displays verbose task information. |
/fi filter | Displays a set of tasks that match a given criteria specified by the filter. |
/fo format | Specifies the output format. Valid values: TABLE , LIST , CSV . |
/nh | Specifies that the "Column Header" should not show in the output. Valid only for TABLE and CSV formats. |
Examples
The command below provides a list of all processes running on the local system:
tasklist
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
You not only get the various processes running on the system, but also the memory usage of each process.
The following command kills the open notepad task, if open.
taskkill /f /im notepad.exe
The following command kills a process which has PID of 1234.
taskill /pid 1234
Killing a Particular Process
Batch Scripting also has the ability to start a new process. This is achieved by using the start
command.
start "title" [/d path] [options] "command" [parameters]
where:
title
Text for the CMD window title bar (required.)path
Starting directory.command
The command, batch file or executable program to run.parameters
The parameters passed to the command.
Following are the description of the options which can be presented to the start
command.
Options | Description |
---|---|
/min | Start window Minimized |
/max | Start window maximized. |
/low | Use IDLE priority class. |
/normal | Use NORMAL priority class. |
/abovenormal | Use ABOVENORMAL priority class. |
/belownormal | Use BELOWNORMAL priority class. |
/high | Use HIGH priority class. |
/realtime | Use REALTIME priority class. |
Example
The following command will run the batch script test.bat in a new window. The windows will start in the minimized mode and also have the title of “Test Batch Script”.
start "Test Batch Script" /Min test.bat
The following command will actually run Microsoft Word in another process and then open the file test-a.txt in Microsoft Word.
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\test-a.txt"