Керування процесами та службами за допомогою CMD: команди Taskkill та Sc

  • Зрозумійте відмінності та ключові функції між процесами та службами у Windows
  • Опануйте використання команд CMD, таких як tasklist, taskkill та sc, для керування завданнями.
  • Відкрийте для себе ефективні методи безпечного моніторингу, фільтрації та завершення процесів або служб.

Керування процесами та службами за допомогою команд CMD Taskkill та Sc

Ви коли-небудь стикалися із завислим процесом у Windows, який не реагує, навіть коли ви його примусово зупиняєте? Або, можливо, ви задавалися питанням, як керувати тими фоновими службами, які, здається, живуть власним життям. Якщо ви хочете стати справжнім адміністратором своєї операційної системи, консоль CMD — ваш незамінний союзник.

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

Процеси та служби у Windows: відмінності та основні функції

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

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

Візуально, ви можете побачити активні процеси в диспетчері завдань (taskmgr.exe), кожен з ідентифікатором (PID), назвою та використанням ресурсів. На вкладці «Сервіси» можна керувати сервісами, їхнім станом та групами, до яких вони належать.

  Коли використовувати контейнери замість повної віртуалізації у Windows

Моніторинг процесів і служб у CMD Windows

Моніторинг та управління процесами за допомогою CMD

Командна консоль Windows дозволяє повністю контролювати системні процеси. Його основні способи використання включають:

  • tasklistВідображає всі активні процеси на комп'ютері, як локальному, так і віддаленому.
  • WMICРозширений інтерфейс для отримання інформації про процеси та послуги.
  • taskkillЗавершує завдання або процеси за PID або іменем.
  • qprocess y queryРозгорнути інформацію про активні процеси та сеанси.
  • tskill: Завершує процеси поточного користувача (або будь-якого користувача, якщо ви адміністратор).

Найпоширеніша команда для переліку процесів - Список завдань:

tasklist

З його допомогою ви отримаєте список назв образів, PID, назв сеансів та використання пам'яті. Для отримання додаткової інформації використовуйте:

tasklist /v

Хочете побачити сервіси, пов’язані з кожним процесом? Додайте:

tasklist /svc

А якщо вам цікаво дізнатися, які процеси використовують певну бібліотеку, наприклад ntdll.dll:

tasklist /m ntdll.dll

Процеси фільтрації: як шукати певну інформацію

Уявіть, що ви хочете бачити лише процеси, які споживають багато оперативної пам'яті, або ті, що запущені певним користувачем. Саме для цього і призначений цей параметр. /fi (фільтр):

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

Таким чином, ви отримаєте процеси, використання пам'яті яких знаходиться в певному діапазоні. Щоб фільтрувати за користувачем:

tasklist /fi "username eq tu_usuario"

Ви також можете комбінувати фільтри, наприклад:

tasklist /v /fi "username eq Administrador" /fi "status eq running"

Щоб зберегти інформацію у файл, просто перенаправте вивід:

tasklist /v /fo csv > procesos.csv

Параметр /фо дозволяє експортувати дані у форматі таблиці, списку або CSV, що ідеально підходить для відкриття в Excel.

Завершити процеси: безпечні та примусові варіанти

Коли програма не відповідає або вам потрібно звільнити ресурси, слід завершити процеси. Тут вони вступають у гру taskkill y tskill.

Щоб завершити процес за його PID:

taskkill /pid 1234

За назвою зображення:

taskkill /im notepad.exe

Чи процес заблокований та стійкий? Використання /f змушувати:

taskkill /f /im chrome.exe

Ви також можете завершити кілька процесів одночасно:

taskkill /pid 1234 /pid 5678 /pid 9101

Або закрийте та знову відкрийте програму одним рядком:

taskkill /f /im firefox.exe & start firefox.exe

tskill Завершити власні процеси просто та корисно:

tskill 1234

Управління та контроль послуг з CMD

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

  • sc query: Відображає стан служб (активні або всі).
  • sc start/stop/pause/delete: Запуск, зупинка, призупинення або видалення служб.
  • sc createСтворіть нову користувацьку послугу.
  • sc description: Змінює опис послуги.
  Як перевірити цілісність ISO-образу у Windows за допомогою контрольних сум та підписів GPG

Приклад створення та запуску сервісу:

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

Перевірте деталі послуги:

sc query NombreDelServicio

Щоб видалити його:

sc delete NombreDelServicio

Керування службами за допомогою PowerShell

PowerShell

PowerShell пропонує більш універсальні командлети, такі як:

  • Get-Service: Перерахувати всі або відфільтрувати послуги.
  • Start-Service, Stop-Service, Restart-Service, Suspend-Service: Керує станом послуг.
  • Set-Service: Змінює властивості та тип запуску.

Наприклад, щоб увімкнути та запустити службу:

Set-Service -Name spooler -StartupType Automatic
Start-Service -Name spooler

Розширене керування: послуги для кожного користувача та редагування реєстру

Тепер Windows створює власні служби для кожного користувача, якими можна керувати за допомогою шаблонів у реєстрі. Цими службами можна керувати за допомогою політик, скриптів або самого реєстру. Для керування цими службами важливо знати пов’язані з ними розділи реєстру та їхні конфігурації.

Щоб вимкнути службу для кожного користувача з CMD:

REG.EXE ADD HKLM\System\CurrentControlSet\Services\NombreServicio /v Start /t REG_DWORD /d 4 /f

З PowerShell:

Set-Service -Name NombreServicio -StartupType Disabled

Додаткові команди та моніторинг у Unix/Linux

У системах GNU/Linux еквівалентними інструментами є ps, pgrep, pkill, nice o priocntlВони дозволяють вам контролювати процеси, аналізувати ресурси та завершувати проблемні завдання. Щоб покращити контроль у Windows, ви також можете навчитися керувати мережами за допомогою таких команд, як мережі та з'єднання в CMD.

Наприклад, щоб перерахувати всі процеси:

ps -ef

І вбити когось на ім'я:

pkill firefox

Навчання тому, як керувати процесами в CMD та інших системах, буде дуже корисним, оскільки сумісність та подібність спрощують адміністрування в різних середовищах.

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

відновлення служб Services.msc
Пов'язана стаття:
Services.msc: Посібник з відновлення видалених або пошкоджених служб