В этой главе мы обсудим различные процессы, включенные в пакетный скрипт.
Просмотр списка запущенных процессов
В Batch Script команду TASKLIST можно использовать для получения списка текущих запущенных процессов в системе.
Синтаксис
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
S.No. | Варианты и описание |
---|---|
1. |
Система Определяет удаленную систему для подключения |
2. |
/ U [домен \] пользователь Определяет пользовательский контекст, в котором должна выполняться команда. |
3. |
/ P [пароль] Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущен. |
4. |
/ M [модуль] Перечисляет все задачи, в настоящее время использующие имя exe / dll. Если имя модуля не указано, отображаются все загруженные модули. |
5. |
/ SVC Отображает службы, размещенные в каждом процессе. |
6. |
/ V , Отображает подробную информацию о задаче. |
7. |
/ FI фильтр Отображает набор задач, которые соответствуют заданным критериям, указанным фильтром. |
8. |
/ FO формат Определяет формат вывода. Допустимые значения: «TABLE», «LIST», «CSV». |
9. |
/ NH Указывает, что заголовок столбца не должен отображаться в выходных данных. Действительно только для форматов «TABLE» и «CSV». |
Система
Определяет удаленную систему для подключения
/ U
[домен \] пользователь
Определяет пользовательский контекст, в котором должна выполняться команда.
/ P [пароль]
Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущен.
/ M [модуль]
Перечисляет все задачи, в настоящее время использующие имя exe / dll. Если имя модуля не указано, отображаются все загруженные модули.
/ SVC
Отображает службы, размещенные в каждом процессе.
/ V ,
Отображает подробную информацию о задаче.
/ FI фильтр
Отображает набор задач, которые соответствуют заданным критериям, указанным фильтром.
/ FO формат
Определяет формат вывода. Допустимые значения: «TABLE», «LIST», «CSV».
/ NH
Указывает, что заголовок столбца не должен отображаться в выходных данных. Действительно только для форматов «TABLE» и «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. |
Система Определяет удаленную систему для подключения |
2. |
/ U [домен \] пользователь Определяет пользовательский контекст, в котором должна выполняться команда. |
3. |
/ P [пароль] Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущен. |
4. |
/ FI FILTERNAME Применяет фильтр для выбора набора задач. Позволяет использовать «*». ех. imagename eq acme * См. фильтры ниже для получения дополнительной информации и примеров. |
5. |
/ PID ProcessId Указывает PID процесса, который должен быть завершен. Используйте TaskList, чтобы получить PID. |
6. |
/Я ImageName Определяет имя изображения процесса, который будет завершен. Подстановочный знак «*» можно использовать для указания всех задач или имен изображений. |
7. |
/ Т Завершает указанный процесс и любые дочерние процессы, которые были запущены им. |
8. |
/ F Указывает на принудительное завершение процесса (ов). |
Система
Определяет удаленную систему для подключения
/ U
[домен \] пользователь
Определяет пользовательский контекст, в котором должна выполняться команда.
/ P [пароль]
Задает пароль для данного пользовательского контекста. Запрашивает ввод, если опущен.
/ FI
FILTERNAME
Применяет фильтр для выбора набора задач. Позволяет использовать «*». ех. imagename eq acme * См. фильтры ниже для получения дополнительной информации и примеров.
/ PID
ProcessId
Указывает PID процесса, который должен быть завершен. Используйте TaskList, чтобы получить PID.
/Я
ImageName
Определяет имя изображения процесса, который будет завершен. Подстановочный знак «*» можно использовать для указания всех задач или имен изображений.
/ Т
Завершает указанный процесс и любые дочерние процессы, которые были запущены им.
/ F
Указывает на принудительное завершение процесса (ов).
Примеры
taskkill /f /im notepad.exe
Приведенная выше команда убивает задачу открытия блокнота, если она открыта.
taskill /pid 9214
Приведенная выше команда убивает процесс, который имеет процесс 9214.
Начиная новый процесс
У сценариев DOS также есть возможность начать новый процесс. Это достигается с помощью команды СТАРТ.
Синтаксис
START "title" [/D path] [options] "command" [parameters]
В которой
-
title — Текст для строки заголовка окна CMD (обязательно.)
-
путь — Начальный каталог.
-
команда — команда, командный файл или исполняемая программа для запуска.
-
параметры — параметры, переданные в команду.
title — Текст для строки заголовка окна CMD (обязательно.)
путь — Начальный каталог.
команда — команда, командный файл или исполняемая программа для запуска.
параметры — параметры, переданные в команду.
S.No. | Варианты и описание |
---|---|
1. |
/ MIN Стартовое окно свернуто |
2. |
/МАКСИМУМ Окно запуска развернуто. |
3. |
/НИЗКИЙ Используйте приоритетный класс IDLE. |
4. |
/НОРМАЛЬНЫЙ Используйте НОРМАЛЬНЫЙ класс приоритета. |
5. |
/ВЫШЕ НОРМЫ Используйте ABOVENORMAL приоритетный класс. |
6. |
/НИЖЕ НОРМЫ Используйте НИЖЕ НОРМАЛЬНЫЙ приоритетный класс. |
7. |
/ВЫСОКО Используйте ВЫСОКИЙ приоритетный класс. |
8. |
/ АВТОКОРРЕКЦИЯ Используйте REALTIME приоритетный класс. |
/ MIN
Стартовое окно свернуто
/МАКСИМУМ
Окно запуска развернуто.
/НИЗКИЙ
Используйте приоритетный класс IDLE.
/НОРМАЛЬНЫЙ
Используйте НОРМАЛЬНЫЙ класс приоритета.
/ВЫШЕ НОРМЫ
Используйте ABOVENORMAL приоритетный класс.
/НИЖЕ НОРМЫ
Используйте НИЖЕ НОРМАЛЬНЫЙ приоритетный класс.
/ВЫСОКО
Используйте ВЫСОКИЙ приоритетный класс.
/ АВТОКОРРЕКЦИЯ
Используйте 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.