Командний рядок - процеси (утиліти tasklist і taskkill)

У цій статті ми розглянемо дві утиліти командного рядка, який служать для роботи з процесами, а саме, утиліту tasklist і taskkill.

Командний рядок - процеси (утиліти tasklist і taskkill)

Командний рядок процеси, утиліта tasklist

tasklist [.exe] [/ s <система>] [/ U [<домен>\]<пользователь> [/ P <пароль>]] [/ Fo] [/ nh] [/ fi фільтр [/ fi фільтр2 [. ]]] [/ M <модуль> | / Svc | / V]

/ U [<домен>\]<пользователь> - дозволяє задати ім'я домену / користувача, під дозволом облікового запису якого повинна виконатися команда. При відсутності, приймаються права поточного користувача, того, що запустив утиліту.

/ p <пароль> - даний ключ актуальний лише в тому випадку, якщо прису

тствует параметр / u. Ключ задає пароль облікового запису.

/ Fo - тут ми можемо поставити формат вихідних даних: TABLE - таблиця, LIST - список і CSV - таблиця в форматі csv файлу. При відсутності ключа, дані виводяться в форматі TABLE. Командний рядок і процеси.

/ Nh - відключення виведення заголовка для стовпця, ключ актуальний лише тоді, коли для параметр / fo встановлені значення TABLE або CSV

/ Fi - даний ключ дозволяє задати фільтри, за якими буде відсіюватися список виведених процесів в командному рядку. Фільтри можна вказувати через кому, в лапках прописуємо ім'я фільтра, оператор і значення.

  • STATUS (стан) - eq, ne - RUNNING | NOT RESPONDING
  • IMAGENAME (ім'я образу) - eq, ne - ім'я процесу
  • PID (ID процесу) - eq, ne, gt, lt, ge, le - значення ідентифікатора процесу PID
  • SESSION (сеанс) - eq, ne, gt, lt, ge, le - номер сесії
  • SESSIONNAME (текст розмови) - eq, ne - ім'я сесії
  • CPUTIME (невідомо.) - eq, ne, gt, lt, ge, le - час ЦП в форматі hh (годинник): mm (хвилини): ss (секунди).
  • MEMUSAGE (пам'ять) - eq, ne, gt, lt, ge, le - спожите значення пам'яті в КБ
  • USERNAME (користувач) - eq, ne - задає ім'я користувача в форматі [<домен>\<пользователь>]
  • SERVICES (служби) - eq, ne - ім'я служби
  • WINDOWTITLE - eq, ne - назва вікна
  • MODULES (модулі) - eq, ne - назва DLL бібліотеки
    • eq - визначає рівність заданому значенню
    • ne - визначає нерівність заданому значенню
    • gt - Більше зазначеного числа
    • lt - Менше зазначеного числа
    • ge - Більше або дорівнює зазначеному числу
    • le - Менше або дорівнює зазначеному числу

    Зверніть увагу, що при вказівці імені фільтра, я вказав поруч в круглих дужках його російське значення (при можливості). Так як в російській збірці Windows примудрилися зробити переклад, і при виклику фільтру англійською, виникає помилка CMD "Фільтр пошуку при вході".

    / m <модуль> - присутність даного ключа включає відображення всіх процесів в командному рядку, що використовують задану бібліотеку (фільтр MODULES). Не використовується спільно з параметрами / svc і / v

    / Svc - визначає відображення служб для кожного процесу, актуальний, якщо параметр / fo має значення TABLE. Не використовується спільно з параметрами / m і / v

    / V - включає відображення детальної інформації. Не використовується спільно з параметрами / svc і / m.

    Командний рядок процеси, утиліта tasklist

    Утиліта taskkill дозволяє завершити роботу заданого процесу або групи, завершення може здійснюється по імені процесу або за його ідентифікатором

    Фактично, значення параметрів ті ж, що і для утиліти tasklist, крім:

    / F - задає примусове завершення заданого процесу

    / PID <процесс> - тут ми можемо вказати ідентифікатор того процесу, який потрібно вбити.

    / IM <образ> - задаємо ім'я образу, для визначення всіх процесів, можна прописати символ підстановки '*'.

    / T - якщо даний ключ включений, то станеться завершення заданого процесу в командному рядку і всіх його дочірніх.

    Добре, як відомо, для виведення довідки по заданій утиліті CMD, потрібно прописати її ім'я і параметр /. З метою надання даних в файл використовується символ ">" після якого слід шлях до файлу, в який будуть записуватися дані. Але, є одна проблема - потрібно визначити правильний метод кодування, інакше ми отримаємо крякозяби. Справа в тому, що деякі утиліти уперто не хочуть перенаправити дані в файл в тій кодуванні, яку ми прописали за допомогою утиліти chcp. І тому, потрібно писати окремий батник.

    Я не сильний в командному рядку, тому на просторах інтернету знайшов наступний приклад:

    Збережіть даний текст в файлі з розширенням bat і запустіть, в результаті ви отримаєте в поточному каталозі два текстові файли, один з крякозябри, а інший в кодуванні 1251.