Оптимізація сервісів та процесів за допомогою sc, tasklist та taskkill

Останнє оновлення: 29/10/2025
Автор: Ісаак
  • Розширене використання списку завдань та taskkill для аудиту та закриття процесів за допомогою фільтрів, CSV та віддаленого виконання.
  • Комплексне управління послугами за допомогою sc: створення, запит, запуск, зупинка та видалення локально та віддалено.
  • Найкращі практики: мінімальні привілеї, запобіжні заходи щодо віддаленого доступу та відповідальне використання /F і фільтрів.

Оптимізація служб і процесів у Windows

Якщо ви працюєте з Windows Щоденний моніторинг того, що робиться, і те, як реагувати, коли щось застрягає, є ключовою різницею між гнучкою командою та тією, яка повільно відстає. На щастя, з кількома… Команди тубільці люблять список завдань, знищення завдань та sc Можна проводити аудит, фільтрацію, зупинку та автоматизацію процесів і служб як локально, так і на віддалених комп'ютерах.

У цьому практичному посібнику я крок за кроком пояснюю, як перераховувати процеси в різних форматах, як застосовувати розширені фільтри, як безпечно закривати заблоковані програми та як точно керувати системними службами. Все це за допомогою Приклади з реального світу, готові до копіювання та вставки, попередження про дистанційне використання та невеликі Трюки щоб ви могли легко пересуватися по консолі.

Процеси та послуги: чим вони схожі та чим відрізняються

У Windows процес — це запущена програма, яка може мати потоки, виконувати завдання та завершувати свою роботу після завершення. Служба ж — це системний компонент, який зазвичай працює у фоновому режимі та може розпочати, зупинити, відновити або перезапустити І, за задумом, він залишається активним, доки система або адміністратор не вирішить інакше.

Серед ключових відмінностей: процеси можуть виконуватися на передньому плані або у фоновому режимі та «завершуються» (припиняються) за потреби, тоді як служби... Вони керують державами (запуск, зупинка, пауза, продовження) та призначені для збереження. Процес може створювати або керувати службами, а служба, у свою чергу, може запускати дочірні процеси.

Якщо ви надаєте перевагу графічному режиму, Диспетчер завдань (taskmgr.exe) показує поточний знімок: вкладка «Процеси» для Процесор, пам'ять, графічний процесор, мережа та стан (включно з класичним повідомленням «Не відповідає») та вкладкою «Служби» для перегляду його PID, стану, типу запуску та виробника. Але коли вам потрібна точність, автоматизація та віддалений доступ, командний рядок — ваш найкращий друг.

Ключові інструменти для керування системою з консолі

Утиліти, які вам обов'язково потрібно знати: Список завдань (перелік процесів), Taskkill (завершити процеси за PID або назвою образу) та sc (Керування послугами за допомогою диспетчера керування послугами). Вони також дуже корисні WMIC (WMI-запит через консоль) та команди запит/qprocess для перевірки процесів за сеансом або користувачем.

За допомогою цих команд ви можете генерувати звіти CSV для Excel, створювати списки без заголовків, застосовувати фільтри за використанням пам'яті або станом та діяти з хірургічною точністю: від завершення роботи несанкціонованого notepad.exe до закриття цілого дерева дочірніх процесів, запущених консоллю. CMD.exe.

Перелік процесів зі списком завдань: фільтри, формати та приклади

Найпряміша команда, щоб побачити, що працює, це Список завданьЯкщо ви не додасте жодних опцій, ви отримаєте назву образу, PID, сеанс та пам'ять. Але найцікавіше – це модифікатори, які дозволяють фільтрувати та налаштовувати вивід на ваш смак.

Дуже практичні параметри: /V (детальний), /SVC (показує служби, розміщені в кожному процесі), /M (які процеси завантажують певну DLL/EXE), /ФО («ТАБЛИЦЯ», «СПИСОК», «CSV») / NH (приховує заголовок у ТАБЛИЦІ/CSV) та /ФІ (фільтри). Також є /S, /U y /P для віддаленого виконання з обліковими даними.

За допомогою цих команд ви можете генерувати звіти CSV для Excel, створювати списки без заголовків, застосовувати фільтри за використанням пам'яті або станом та діяти з хірургічною точністю: від завершення роботи несанкціонованого notepad.exe до закриття цілого дерева дочірніх процесів, запущених консоллю. cmd.exe.

Щоб переглянути повну довідку на робочому столі, ви можете створити дамп виводу за допомогою: «СПИСОК ЗАВДАНЬ/? >%userprofile%/Desktop/uso.txt»Таким чином, у вас будуть під рукою пояснення всіх опцій, і вам не доведеться покладатися на пам'ять, коли настане час. складні фільтри.

tasklist
tasklist /v
tasklist /svc
tasklist /m ntdll.dll

Вивід CSV ідеально підходить для відкриття в Excel або обробки за допомогою скриптів. Ви можете створити дуже детальний звіт, подібний до цього: Детальний CSV-файл Настільний комп'ютер, готовий до аналізу з фільтрами та зведеними таблицями.

tasklist /v /fo csv >%userprofile%/Desktop/list.csv

Якщо ви шукаєте щось більш лаконічне, з розміщеними сервісами та у текстовому форматі: СПИСОК + TXT перенаправляється на робочий стіл. Це ідеально підходить для швидкого перегляду в Блокноті та для легкого обміну з колегою.

tasklist /svc /fo list >%userprofile%/Desktop/list.txt

El відфільтровано Це неймовірно потужно. Ви можете зберегти, наприклад, запущені програми та переглядати їх у детальному режимі: це допомагає зосередитися на тому, що активно зараз, пропускаючи завдання, які зупинені або призупинені в деяких виданнях.

tasklist /v /fi "STATUS eq running"

Ще один класичний приклад: визначення того, які процеси завантажують певну DLL-бібліотеку, наприклад ntdll.dllДуже корисно для діагностики або розслідування залежностей.

tasklist /m ntdll.dll

Фільтрувати за використанням пам'яті за допомогою діапазони Це також можливо. Наприклад, щоб побачити процеси з розміром оперативної пам'яті понад 15000 КБ та меншим за 19000 КБ, можна об'єднати два /ФІ і отримайте саме той сегмент, який вас цікавить.

tasklist /fi "memusage gt 15000" /fi "memusage lt 19000"

Ще одна повторювана закономірність полягає в об'єднати оголошення: список notepad.exe та firefox.exe з двома ланцюговими викликами за допомогою оператора &, що залишає обидва результати на екрані за один прохід.

tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"

Чи потрібен CSV безпосередньо в консолі, але лише для процесів з ПІД > 1000Без проблем: з фільтром та форматуванням все готове до перенаправлення або обробки в іншій програмі.

tasklist /v /fi "PID gt 1000" /fo csv

Якщо ви хочете експортувати цей CSV-файл, просто додайте перенаправлення. Це дуже зручно під час створення звіти периметра або збір даних з інциденту.

tasklist /v /fi "PID gt 1000" /fo csv > procs.csv

Фільтрація за користувачем та статусом, виключаючи системні повноваження, корисна під час пошуку «користувацькі» процеси у режимі реального часу. Цей режим перегляду усуває системний шум і дозволяє зосередитися на тому, що зазвичай спричиняє проблеми в офісному середовищі.

tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"

У віддалених сценаріях список завдань чудово підходить. Ви можете звернутися до сервера під назвою srvmain Використовуючи ваші поточні або певні облікові дані, а також фільтруючи за завантаженими модулями та службами. Пам’ятайте, що фільтри WINDOWTITLE y СТАТУС Вони не застосовуються дистанційно.

tasklist /s srvmain
tasklist /s srvmain /u maindom\hiropln /p p@ssW23
tasklist /s srvmain /svc /fi "MODULES eq ntdll*"

Швидкий трюк: якщо ви хочете вікно командний рядок Не закривайте після запуску списку; запустіть команду за допомогою CMD /KЦе простий спосіб «дивитися та залишатися» на консолі без необхідності перезапускати її щоразу.

CMD /K TASKLIST /V

Закриття завдань за допомогою taskkill: синтаксис, фільтри та реальні приклади

Коли програма перестає реагувати, споживає ресурси без потреби або відкриває забагато дочірніх програм, Taskkill Ось і відповідь. Це дозволяє завершувати роботу за PID або назвою образу, примусово завершувати роботу та, за потреби, зупиняти роботу всього дерева дочірніх процесів за допомогою простого модифікатора.

  Припиніть веб-сайти від моніторингу вашого розташування на ПК та Mac

Загальний синтаксис підтримує віддалене виконання з іменем користувача та паролем, кілька ланцюгових фільтрів та дії за допомогою PID або IMAGEME (із символами підстановки для імен, якщо ви додаєте фільтр). Примітка: віддалене автодоповнення завжди примусове, а фільтри WINDOWTITLE/STATUS не застосовуються.

taskkill <usuario> ]]] {  }  

Завершення за допомогою PID є найпрямішим підходом і зменшує ризик випадкового завершення інших процесів зі схожими іменами. Ви можете завершити один або кілька PID в одній інструкції, що корисно під час очищення. зомбі-процеси що реплікуються.

taskkill /pid 1230
taskkill /pid 1230 /pid 1241 /pid 1253

Завершення роботи за назвою зображення зручне для "вимкнення" певної програми у всіх її процесах, особливо якщо вона використовує багатопроцесорність, як це робить більшість сучасних браузерів. /F змушує закриватися і з /T Ви видаляєте дітей.

taskkill /f /im notepad.exe

Якщо ви хочете завершити всі процеси з PID, більшим або рівним 1000, незалежно від їхньої назви, ви можете поєднати фільтр з /ім*Цей шаблон призначений для дуже специфічних цілей відновлення, використовуйте його з розумом.

taskkill /f /fi "PID ge 1000" /im *

Фільтри за статусом та посадою Вони дуже допомагають чіткі вузькі місцяНаприклад, ви можете примусово завершити роботу будь-чого, що «не відповідає», за винятком вікон, заголовки яких не відповідають вашим критеріям. Пам’ятайте, що ці фільтри не працюють віддалено.

taskkill /f /fi "STATUS eq NOT RESPONDING"

Існують спеціальні процеси, про які варто знати: закриття wscript.exe Виріжте будь-які застряглі скрипти VBScript та перезапустіть Провідник Windows Це позбавить вас неприємностей, коли панель завдань або оболонка зависає.

taskkill /f /im wscript.exe
taskkill /f /im explorer.exe & start explorer.exe

Якщо ви бажаєте дати системі перерву перед перезапуском оболонки, чергуйте кілька секунд з Тайм-аутЦе невеликий жест, який може запобігти помилкам під час виконання операцій з диском.

taskkill /f /im explorer.exe & timeout /nobreak 05 & start explorer.exe

Ще одне поширене використання: каскадне закриття консолі та всього, що вона могла запустити. /T Ви переконуєтеся, що жодна дитина не залишиться позаду.

taskkill /f /im cmd.exe /t

Taskkill також підтримує віддалене виконання з обліковими даними, що є важливим, коли сервер перевантажений процесом, що споживає багато ресурсів. завантаженняЗа допомогою шаблонів підстановки ви можете знайти кілька виконуваних файлів, пов'язаних за назвою, наприклад, "note*", щоб знайти блокнот та інші подібні.

taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *

Якщо вам потрібно діяти з урахуванням безпеки, ви також можете завершити роботу лише того, що запустило систему (користувача NT АВТОРИТЕТ\СИСТЕМА), щоб переконатися, що ви не закриваєте інструменти користувача без причини.

taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe

А якщо ви хочете чогось ще більш простого, є skillЦе дозволяє завершувати процеси на рівні сеансу (менш гнучко, ніж taskkill, але корисно в старіших або дуже обмежених середовищах). Адміністратори можуть використовувати це проти процесів в інших сеансах.

tskill 1230
tskill explorer /id:1

Автоматизуйте вимкнення під час запуску Windows за допомогою пакетних файлів

Існують сценарії, коли доцільно завершувати процеси одразу після входу в систему, наприклад, щоб вимкнути непотрібні служби що перешкоджають запуску. За допомогою простого пакетний файл у папці автозавантаження Ви можете зробити це, не торкаючись Планувальника завдань.

  Як ефективно об'єднати моди за допомогою Endo у Warframe

Створіть .bat-файл із потрібними рядками taskkill та перемістіть його до домашнього каталогу користувача. Ви можете легко відкрити цю папку, ввівши оболонкою: Startup у діалоговому вікні «Виконати» (Win+R) та підтвердження.

@echo off
taskkill /f /im proceso1.exe
taskkill /f /im proceso2.exe
taskkill /f /im proceso3.exe

Інші способи отримання списку: WMIC, query та qprocess

Для розширеної перевірки та експорту необроблених даних, WMIC Це чисте золото і доповнює інструменти для виявляти шкідливі процесиВи можете вибрати стовпці, які вас цікавлять (заголовок, командний рядок, PID тощо) та зберегти їх у файлі на диску для подальшого аналізу або для додавання до звіту.

WMIC /OUTPUT:C:\procs.txt PROCESS get Caption,Commandline,Processid

Також з запит і його псевдонім qprocess Легко побачити, хто що запускає, в якому сеансі та з яким PID. Це дуже корисно на серверах зі службами віддалених робочих столів, де кожен сеанс може мати власну ферму активних процесів.

query process *
query process /id:1

Це сімейство команд відображає, серед інших даних, користувача-власника, назву сеансу, ідентифікатор сеансу, назву процесу та його PID. Разом вони надають вам огляд багатосесійний який список завдань також може відображатися, але тут з особливим акцентом на термінал Послуги.

Керування сервісами за допомогою sc: створення, запит, запуск та видалення

Для всього, що пов'язано з керуванням системними службами, команда sc Це вже прямий шлях до диспетчера керування службами Services.mscЗа його допомогою ви можете створювати нову службу, змінювати її опис, запускати або зупиняти її, призупиняти або видаляти записи з реєстру служб. Вона також працює віддалено, додаючи \\ перед ім'ям комп'ютера.

Створіть зразок сервісу за допомогою автоматичний старт Це так само просто, як вказати символічне ім'я, бінарний шлях та тип завантаження. Зверніть увагу на пробіли після знаків рівності: вони важливі в sc, тому дотримуйтесь точного синтаксису.

sc create NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto

Щоб зробити це в a віддалений хостІм'я машини розміщується перед командою. Відтепер решта команд (start, stop, delete) працюватимуть точно так само з цим ім'ям служби.

sc create \\miservidor NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto

Запуск, зупинка або зміна адміністративного статусу щойно створеної вами служби є простою. Ви часто поєднуватимете ці команди з список завдань/завершення завдання коли служба запускає проблемні побічні процеси.

sc start NuevoServicio
sc stop NuevoServicio
sc pause NuevoServicio

Для аудиту, sc запит Різні варіанти його розташування дуже корисні: активні служби, всі служби, інтерактивні служби або певна служба з її статусом. Цей вигляд доповнює список завдань /svc, коли вам це потрібно. статус і тип ан Tiempo реально.

sc query
sc query type= service
sc query state= all
sc query NuevoServicio
sc query type= service type= interact

А коли вам це більше не потрібно, ви можете видалити службу з реєстру за допомогою простого видалення. Пам’ятайте, що його потрібно зупинити; інакше операція завершиться невдачею або залишиться в очікуванні, доки не будуть звільнені ресурси.

sc delete NuevoServicio

Довідка, підтримувані фільтри та нюанси віддаленого режиму

Обидві команди, tasklist та taskkill, відображають дуже вичерпну довідку безпосередньо з консолі. Приділіть хвилинку, щоб її прочитати: ви побачите підтримувані фільтри, такі як PID (екв., не, гт, лт, ге, ле), УЯВИ МЕНЕ (екв., не), USERNAME, МЕМУСЕЙДЖ, МОДУЛІ o WINDOWTITLE, а також значення статусу, такі як ВИКОНАНО, НЕ ВІДПОВІДАЄ або НЕВІДОМО (у деяких виданнях також ПРИЗУПИНЕНИЙ).

  Huawei припинить виробництво ноутбуків Windows і зосередиться на Linux і HarmonyOS.

Є правила, які слід пам'ятати: джокер * Для /IM це приймається лише тоді, коли ви застосовуєте фільтр; у віддаленому режимі автодоповнення завжди примусове, а фільтри WINDOWTITLE та STATUS не оцінюються. Якщо ви збираєтеся запускати віддалено, переконайтеся, що у вас є дійсні облікові даніщо брандмауер дозволяє необхідний зв'язок і що служби RPC/WMI активні.

Щоб зберегти довідку у файлі та звертатися до неї пізніше, не гублячись у консолі, пам’ятайте, що ви можете перенаправити вивід у файл .txt на робочому столі, що особливо корисно під час документування внутрішньої процедури або спільного використання. підручники з командою.

TASKLIST /? >%userprofile%/Desktop/uso_tasklist.txt
TASKKILL /? >%userprofile%/Desktop/uso_taskkill.txt

Практичні приклади щоденного адміністрування

Звичайні процедуриМоніторинг ресурсомістких процесів, визначення спільних DLL-бібліотек та підготовка CSV-файлу для подальшого перегляду – це поширені завдання. Ось добірка швидких операцій, усі з яких базуються на вищезазначеному та готові до об’єднання та налаштування відповідно до вашого середовища.

Створення детального списку та подальше закриття консолі корисне для спостереження в режимі реального часу без закриття вікна. Поєднуючи CMD /K Зі списком завдань ви отримуєте комфортний робочий процес.

CMD /K TASKLIST /V

Знайдіть усі процеси, в яких завантажено модуль із шаблоном. підстановочний знак у кінці імені DLL Це дозволяє охоплювати різні версії або варіанти однієї й тієї ж системної бібліотеки.

tasklist /m ntdll*

Об’єднаний список двох дуже поширених програм, щоб швидко побачити, скільки у вас відкритих екземплярів та скільки вони використовують пам’яті. Це може дати вам уявлення про наявність будь-яких проблем. надмірна багатопроцесорність або активовані вкладки браузера.

tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"

Припинення доступу за обліковими даними та шаблоном імені образу на віддаленому сервері. Дуже корисно в корпоративних середовищах, де віддалений робочий стіл часто не відповідає через зчеплення офісних процесів.

taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *

А якщо ви хочете бути суворо вибірковим за джерелом, завершуйте лише те, що було запущено системним обліковим записом. Цей фільтр дуже ефективний під час розслідування. поведінка в сфері обслуговування порівняно з процесами користувача.

taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe

Поради та найкращі практики безпеки

Уникайте завершення системних процесів без попередньої перевірки їхньої функції; це може призвести до нестабільності або втрати даних. Перед завершенням визначтеся з список завдань /в І, якщо можете, спробуйте звичайне завершення роботи з інтерфейсу. Резерв. /F У випадках, коли немає альтернативи, зверніться до списку Служби Windows 11, які не слід вимикати до дії.

Для віддаленого доступу використовуйте облікові записи з мінімально необхідними правами, а якщо ви керуєте кількома комп’ютерами, розгляньте можливість використання скриптів, які реєструють, що і коли було закрито. Перенаправте вивід у CSV або TXT, щоб залишити слід, і захистіть будь-які файли, що містять такі дані. паролі або облікові дані з таким самим рівнем секретності, як і виробничий секрет.

Зрештою, пам’ятайте, що іноді найшвидшим рішенням є графічне: відкрийте диспетчер завдань і вручну закрийте шахрайський процес. Консоль чудово справляється з автоматизацією, точною діагностикою та… повторювані діїГрафічний інтерфейс рятує вас, коли вам потрібен негайний клік.

Наразі ви освоїли, як інвентаризувати, фільтрувати та закривати процеси за допомогою tasklist та taskkill, а також як створювати, запитувати та видаляти служби за допомогою sc, як локально, так і віддалено. Завдяки прикладам та попередженням у цій статті ви зможете створювати власні сценарії обслуговування, реагувати на збої за лічені секунди та генерувати відшліфовані звіти у форматі CSV або TXT для своєї команди, завжди застосовуючи принцип мінімального втручання. максимальний контроль про те, що працює на ваших системах.

Список завдань та Taskkill для керування процесами у Windows
Пов'язана стаття:
Як керувати процесами та завданнями у Windows за допомогою TASKLIST та TASKKILL