Пакетный скрипт - процесс

В этой главе мы обсудим различные процессы, задействованные в пакетном скрипте.

Просмотр списка запущенных процессов

В пакетном сценарии команду TASKLIST можно использовать для получения списка текущих процессов в системе.

Синтаксис

TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. Опции и описание
1.

/S system

Определяет удаленную систему для подключения к

2.

/U

[domain\]user

Задает пользовательский контекст, в котором должна выполняться команда.

3.

/P [password]

Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущено.

4.

/M [module]

Перечисляет все задачи, в настоящее время использующие данное имя exe / dll. Если имя модуля не указано, отображаются все загруженные модули.

5.

/SVC

Отображает службы, размещенные в каждом процессе.

6.

/V

Отображает подробную информацию о задаче.

7.

/FI filter

Отображает набор задач, соответствующих заданным критериям, заданным фильтром.

8.

/FO format

Задает выходной формат. Допустимые значения: «ТАБЛИЦА», «СПИСОК», «CSV».

9.

/NH

Указывает, что «Заголовок столбца» не должен отображаться в выводе. Действительно только для форматов "ТАБЛИЦА" и "CSV".

Примеры

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

tasklist > process.txt

Приведенная выше команда берет вывод, отображаемый списком задач, и сохраняет его в файл process.txt.

tasklist /fi "memusage gt 40000"

Вышеупомянутая команда будет получать только те процессы, память которых превышает 40 МБ. Ниже приведен пример вывода, который можно визуализировать.

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

Убийство определенного процесса

Позволяет пользователю, работающему под управлением Microsoft Windows XP professional, Windows 2003 или более поздней версии, завершить задачу из командной строки Windows по идентификатору процесса (PID) или имени образа. Для этого используется команда TASKILL.

Синтаксис

TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] 
[/PID processid | /IM imagename] } [/T] [/F]
S.No. Опции и описание
1.

/S system

Определяет удаленную систему для подключения к

2.

/U

[domain\]user

Задает пользовательский контекст, в котором должна выполняться команда.

3.

/P [password]

Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущено.

4.

/FI

FilterName

Применяет фильтр для выбора набора задач. Позволяет использовать "*". напр. imagename eq acme * См. ниже фильтры для получения дополнительной информации и примеров.

5.

/PID

processID

Задает PID процесса, который нужно завершить. Используйте TaskList, чтобы получить PID.

6.

/IM

ImageName

Задает имя образа прекращаемого процесса. Подстановочный знак «*» можно использовать для указания всех задач или имен изображений.

7.

/T

Завершает указанный процесс и все дочерние процессы, которые были им запущены.

8.

/F

Задает принудительное завершение процесса (ов).

Примеры

taskkill /f /im notepad.exe

Вышеупомянутая команда убивает задачу открытого блокнота, если она открыта.

taskill /pid 9214

Вышеупомянутая команда убивает процесс, имеющий процесс 9214.

Запуск нового процесса

Сценарии DOS также позволяют запускать новый процесс в целом. Это достигается с помощью команды START.

Синтаксис

START "title" [/D path] [options] "command" [parameters]

В которой

  • title - Текст для строки заголовка окна CMD (обязательно).

  • path - Начальный каталог.

  • command - Команда, командный файл или исполняемая программа для запуска.

  • parameters - Параметры, переданные команде.

S.No. Опции и описание
1.

/MIN

Стартовое окно Свернуто

2.

/MAX

Стартовое окно развернуто.

3.

/LOW

Используйте класс приоритета IDLE.

4.

/NORMAL

Используйте НОРМАЛЬНЫЙ класс приоритета.

5.

/ABOVENORMAL

Используйте класс приоритета ABOVENORMAL.

6.

/BELOWNORMAL

Используйте НИЖЕ НОРМАЛЬНЫЙ класс приоритета.

7.

/HIGH

Используйте ВЫСОКИЙ приоритетный класс.

8.

/REALTIME

Используйте класс приоритета REALTIME.

Примеры

START "Test Batch Script" /Min test.bat

Приведенная выше команда запустит пакетный сценарий test.bat в новом окне. Окна будут запущены в свернутом режиме и будут иметь заголовок «Test Batch Script».

START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"

Приведенная выше команда фактически запустит Microsoft Word в другом процессе, а затем откроет файл TESTA.txt в MS Word.