Пакетный скрипт - процесс
В этой главе мы обсудим различные процессы, задействованные в пакетном скрипте.
Просмотр списка запущенных процессов
В пакетном сценарии команду 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.