Optimizarea serviciilor și proceselor cu sc, tasklist și taskkill

Ultima actualizare: 29/10/2025
Autorul: Isaac
  • Utilizare avansată a tasklist-ului și taskkill-ului pentru auditarea și închiderea proceselor cu filtre, fișiere CSV și execuție la distanță.
  • Management complet al serviciilor cu sc: creare, interogare, pornire, oprire și ștergere local și de la distanță.
  • Cele mai bune practici: privilegii minime, precauții la distanță și utilizarea responsabilă a /F și a filtrelor.

Optimizarea serviciilor și proceselor în Windows

Dacă lucrezi cu ferestre din Zilnic, monitorizarea a ceea ce se face și a modului de reacție atunci când ceva se blochează face toată diferența dintre o echipă agilă și una care rămâne în urmă lent. Din fericire, cu o mână de... comenzi nativii ca listă de activități, kill de activități și sc Este posibilă auditarea, filtrarea, oprirea și automatizarea proceselor și serviciilor, atât local, cât și pe computere la distanță.

În acest ghid practic, explic, pas cu pas, cum să listați procesele în diferite formate, cum să aplicați filtre avansate, cum să închideți în siguranță aplicațiile blocate și cum să gestionați cu precizie serviciile de sistem. Toate acestea cu Exemple din lumea reală, gata de copiat și lipit, avertismente de utilizare la distanță și mici Trucuri astfel încât să te poți mișca cu ușurință în jurul consolei.

Procese și servicii: cum sunt similare și cum sunt diferite

În Windows, un proces este un program care rulează și care poate avea fire de execuție, poate executa sarcini și se poate termina când își termină treaba. Un serviciu, pe de altă parte, este o componentă de sistem care rulează de obicei în fundal și poate a porni, a opri, a relua sau a reporni Și, prin design, rămâne activ până când sistemul sau un administrator decide altfel.

Printre diferențele cheie: procesele pot rula în prim-plan sau în fundal și sunt „oprite” (terminate) atunci când este necesar, în timp ce serviciile sunt Ei gestionează cu statele (pornire, oprire, pauză, continuare) și sunt concepute să persiste. Un proces poate crea sau controla servicii, iar un serviciu poate, la rândul său, lansa procese fiu.

Dacă preferați în mod grafic, Manager de activități (taskmgr.exe) vă arată instantaneul curent: fila Procese pentru CPU, memorie, GPU, rețea și stare (inclusiv clasica opțiune „Nu răspunde”) și o filă Servicii pentru a vizualiza PID-ul, starea, tipul de pornire și producătorul. Dar când aveți nevoie de precizie, automatizare și acces la distanță, linia de comandă este cel mai bun prieten al dumneavoastră.

Instrumente cheie pentru gestionarea sistemului din consolă

Utilitățile pe care trebuie neapărat să le cunoașteți sunt: listă de tasklist (listă procese), taskkill (termină procesele după PID sau numele imaginii) și sc (Gestionarea serviciilor folosind Service Control Manager). De asemenea, sunt foarte utile WMIC (interogare WMI prin consolă) și comenzile interogare/proces q pentru a inspecta procesele pe sesiune sau utilizator.

Cu aceste comenzi puteți genera rapoarte CSV pentru Excel, crea liste fără antet, aplica filtre după utilizarea memoriei sau stare și acționa cu o precizie chirurgicală: de la terminarea unui fișier notepad.exe necinstit până la închiderea unui întreg arbore de procese copil lansate de o consolă. cmd.executabil.

Listarea proceselor cu tasklist: filtre, formate și exemple

Cea mai directă comandă pentru a vedea ce rulează este listă de tasklistDacă nu adăugați nicio opțiune, veți primi numele imaginii, PID-ul, sesiunea și memoria. Dar partea interesantă vine cu modificatorii săi, care vă permit să filtrați și să personalizați rezultatul după preferințe.

Parametri foarte practici: /V (detaliat), /SVC (arată serviciile găzduite în fiecare proces), /M (care procese încarcă un anumit DLL/EXE), /FO („TABEL”, „LISTĂ”, „CSV”) / NH (ascunde antetul în TABLE/CSV) și /FI (filtre). Există, de asemenea, /S, /U y /P pentru execuție la distanță cu acreditări.

Cu aceste comenzi puteți genera rapoarte CSV pentru Excel, crea liste fără antet, aplica filtre după utilizarea memoriei sau stare și acționa cu o precizie chirurgicală: de la terminarea unui fișier notepad.exe necinstit până la închiderea unui întreg arbore de procese copil lansate de o consolă. cmd.exe.

Pentru a vizualiza ajutorul complet pe Desktop, puteți extrage rezultatul cu: «LISTĂ DE SARCINI/? >%profilutilizator%/Desktop/uso.txt»În acest fel, veți avea la îndemână toate opțiunile explicate și nu va trebui să vă bazați pe memorie atunci când va veni momentul. filtre complexe.

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

Rezultatul CSV este ideal pentru deschiderea în Excel sau procesarea cu scripturi. Puteți genera un raport foarte detaliat, cum ar fi acesta: Fișier CSV detaliat Desktop, gata de analiză cu filtre și tabele pivot.

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

Dacă sunteți în căutarea a ceva mai concis, cu servicii găzduite și în format text: LISTĂ + TEXT redirecționat către Desktop. Este perfect pentru o recapitulare rapidă în Notepad și pentru partajarea ușoară cu un coleg.

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

El filtrat Este incredibil de puternic. Poți păstra, de exemplu, rularea aplicațiilor și vizualizați-le în modul detaliat: acest lucru vă ajută să vă concentrați asupra a ceea ce este activ chiar acum, omițând activitățile care sunt oprite sau suspendate în unele ediții.

tasklist /v /fi "STATUS eq running"

Un alt clasic: localizarea proceselor care încarcă un anumit DLL, cum ar fi Ntdll.dllFoarte util pentru diagnosticare sau investigarea dependențelor.

tasklist /m ntdll.dll

Filtrare după utilizarea memoriei cu intervale Este, de asemenea, posibil. De exemplu, pentru a vedea procese cu mai mult de 15000 KB și mai puțin de 19000 KB de RAM, puteți concatena două /FI și obțineți exact segmentul care vă interesează.

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

Un alt model recurent constă în combinați anunțurile: listează notepad.exe și firefox.exe cu două apeluri înlănțuite folosind operatorul &, ceea ce lasă ambele rezultate pe ecran într-o singură trecere.

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

Ai nevoie de CSV direct în consolă, dar numai pentru procesele cu PID > 1000Nicio problemă: cu filtru și formatare totul este gata pentru a fi redirecționat sau procesat într-un alt program.

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

Dacă doriți să exportați fișierul CSV, pur și simplu adăugați redirecționarea. Este foarte convenabil atunci când construiți rapoarte perimetrale sau colectarea de date dintr-un incident.

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

Filtrarea după utilizator și stare, excluzând autoritatea sistemului, este utilă atunci când căutați procese „utilizator” live. Această vizualizare elimină zgomotul sistemului și vă permite să vă concentrați asupra cauzelor care cauzează de obicei probleme în mediile de birou.

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

În scenarii îndepărtate, lista de activități este cea mai bună. Puteți consulta un server numit srvmain Folosind acreditările curente sau specifice și, de asemenea, filtrați după modulele și serviciile încărcate. Rețineți că filtrele WINDOWTITLE y STAREA Acestea nu sunt aplicate de la distanță.

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

Truc rapid: dacă vrei fereastra prompt de comandă Nu închideți după rularea unei liste; lansați comanda cu CMD /KEste o modalitate simplă de a „viziona și rămâne” pe consolă fără a fi nevoie să o relansezi de fiecare dată.

CMD /K TASKLIST /V

Închiderea sarcinilor cu taskkill: sintaxă, filtre și exemple din lumea reală

Când o aplicație nu mai răspunde, consumă resurse în mod inutil sau deschide prea multe aplicații fiu, taskkill Acesta este răspunsul. Permite terminarea după PID sau numele imaginii, forțarea terminării și, dacă este necesar, închiderea întregului arbore de procese copil cu un simplu modificator.

  Reparați mesajul de eroare „Resursa utilă solicitată este în uz”.

Sintaxa generală permite execuția la distanță cu nume de utilizator și parolă, filtre multiple înlănțuite și acționarea prin PID sau IMAGINEME (cu caractere wildcard pentru nume dacă adăugați un filtru). Notă: completarea la distanță este întotdeauna forțată, iar filtrele WINDOWTITLE/STATUS nu se aplică.

taskkill <usuario> ]]] {  }  

Terminarea prin PID este cea mai directă abordare și reduce riscul de terminare accidentală a altor procese cu nume similare. Puteți termina unul sau mai multe PID-uri în aceeași instrucțiune, ceea ce este util la curățare. procese zombie care sunt replicate.

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

Terminarea după numele imaginii este convenabilă pentru „închiderea” unei anumite aplicații în toate procesele sale, mai ales dacă aceasta folosește multiprocesare, așa cum fac majoritatea browserelor moderne. /F forțează închiderea și cu /T Ștergi copii.

taskkill /f /im notepad.exe

Dacă doriți să închideți toate procesele cu un PID mai mare sau egal cu 1000, indiferent de numele lor, puteți combina un filtru cu /im *Acest model este destinat unor utilizări de remediere foarte specifice, folosiți-l cu înțelepciune.

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

Filtre după statut și titlu Ei ajută mult blocaje clareDe exemplu, puteți închide cu forța orice „nu răspunde”, excluzând ferestrele ale căror titluri nu corespund criteriilor dvs. Rețineți că aceste filtre nu funcționează de la distanță.

taskkill /f /fi "STATUS eq NOT RESPONDING"

Există procese speciale care merită cunoscute: închiderea wscript.exe Ștergeți orice scripturi VBScript care s-ar putea bloca și reporniți Windows Explorer Te scoate din probleme atunci când bara de activități sau shell-ul se blochează.

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

Dacă preferați să acordați sistemului o pauză înainte de a relansa shell-ul, alternați câteva secunde cu timeoutEste un mic gest care poate preveni erorile atunci când operațiunile pe disc sunt în desfășurare.

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

O altă utilizare comună: închiderea consolei și a tot ceea ce ar fi putut lansa în cascadă. /T Te asiguri că niciun copil nu rămâne în urmă.

taskkill /f /im cmd.exe /t

Taskkill acceptă, de asemenea, execuția la distanță cu acreditări, ceea ce este esențial atunci când un server este suprasolicitat de un proces care consumă multă resurse. cizmăCu wildcard-uri puteți viza mai multe fișiere executabile legate prin nume, cum ar fi „note*” pentru a localiza Notepad și altele asemenea.

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

Dacă trebuie să acționați cu o abordare conștientă de siguranță, puteți, de asemenea, să eliminați doar ceea ce a pornit sistemul (utilizator NT AUTORITATE\SISTEM) pentru a vă asigura că nu închideți instrumentele utilizatorului fără motiv.

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

Și dacă vrei ceva și mai simplu, există abilitateAceasta vă permite să terminați procesele la nivel de sesiune (mai puțin flexibil decât taskkill, dar util în medii mai vechi sau foarte limitate). Administratorii o pot folosi împotriva proceselor din alte sesiuni.

tskill 1230
tskill explorer /id:1

Automatizează închiderea la pornirea Windows folosind fișiere batch

Există scenarii în care este recomandabil să închideți procesele imediat după conectare, de exemplu pentru a dezactivați serviciile inutile care împiedică pornirea. Cu un simplu fișier batch în folderul Startup Poți face asta fără să atingi Planificatorul de activități.

  Notificările WhatsApp nu se activează pe iPhone

Creați un fișier .bat cu liniile taskkill de care aveți nevoie și mutați-l în directorul Home al utilizatorului. Puteți deschide cu ușurință acel folder tastând shell:Pornire în caseta de dialog Executare (Win+R) și confirmând.

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

Alte modalități de listare: WMIC, interogare și qprocess

Pentru inspecția avansată și exportul datelor brute, WMIC Este aur pur și completează uneltele pentru detectarea proceselor rău intenționatePuteți alege coloanele care vă interesează (titlu, linie de comandă, PID etc.) și le puteți salva într-un fișier pe disc pentru analiză ulterioară sau pentru a le atașa la un raport.

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

De asemenea cu întrebare și pseudonimul lui qproces Este ușor de văzut cine ce rulează, în ce sesiune și cu ce PID. Acest lucru este foarte util pe serverele cu Servicii Desktop la distanță, unde fiecare sesiune poate avea propria fermă de procese active.

query process *
query process /id:1

Această familie de comenzi afișează, printre alte date, utilizatorul proprietar, numele sesiunii, ID-ul sesiunii, numele procesului și PID-ul său. Împreună, acestea vă oferă o imagine de ansamblu asupra sesiune multiplă care listă de activități poate afișa, dar aici cu accent special pe Terminal Servicii.

Gestionarea serviciilor cu sc: creare, interogare, pornire și ștergere

Pentru tot ce ține de gestionarea serviciilor de sistem, comanda sc Este deja ruta directă către Managerul de control al serviciilor services.mscCu acesta, puteți crea un serviciu nou, modifica descrierea acestuia, îl puteți porni sau opri, îl puteți pune pe pauză sau șterge intrări din registrul de servicii. De asemenea, funcționează de la distanță, precedând numele computerului cu \\.

Creați un serviciu exemplu cu pornire automată Este la fel de simplu ca specificarea unui nume simbolic, a căii binare și a tipului de boot. Acordați atenție spațiilor de după semnele egal: acestea contează în sc, așa că respectați sintaxa exactă.

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

Să o facă într-un gazdă la distanțăNumele mașinii este plasat înaintea comenzii. De atunci încolo, restul comenzilor (start, stop, delete) vor funcționa exact la fel cu acel nume de serviciu.

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

Pornirea, oprirea sau modificarea stării administrative a serviciului pe care tocmai l-ați creat este simplă. Adesea, veți combina aceste comenzi cu listă de sarcini/inhibitor de sarcini când un serviciu lansează procese secundare problematice.

sc start NuevoServicio
sc stop NuevoServicio
sc pause NuevoServicio

Pentru auditare, interogare sc Diversele sale variante sunt foarte utile: servicii active, toate serviciile, servicii interactive sau un serviciu specific cu starea sa. Această vizualizare completează tasklist /svc atunci când aveți nevoie. stare și tip en Tiempo reală.

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

Și când nu mai ai nevoie de el, poți eliminați un serviciu din registru cu o simplă ștergere. Rețineți că trebuie oprită; altfel, operațiunea va eșua sau va rămâne în așteptare până când resursele sunt eliberate.

sc delete NuevoServicio

Ajutor, filtre acceptate și nuanțe ale modului la distanță

Ambele comenzi, tasklist și taskkill, afișează ajutor foarte cuprinzător direct din consolă. Acordați-vă un moment pentru a le citi: veți vedea filtre acceptate, cum ar fi PID (ech, ne, gt, lt, ge, le), IMAGINEAZĂ-MĂ (echivalența, ne), USERNAME, MEMUSAGE, MODULE o WINDOWTITLEși valori de stare precum RUNNING (ÎN FUNCȚIUNE), NOT RESPONDING (NU RĂSPUNDE) sau UNKNOWN (NECUNOSCUT) (în unele ediții, de asemenea, SUSPENDED (SUSPENDAT).

  Metode de copiere a informațiilor dintr-un cont de persoană în alt cont în Home windows 10

Există reguli de reținut: wild card-ul * Pentru /IM, este acceptat doar atunci când aplicați un filtru; în modul la distanță, finalizarea este întotdeauna forțată, iar filtrele WINDOWTITLE și STATUS nu sunt evaluate. Dacă veți rula la distanță, asigurați-vă că aveți acreditări validecă firewall-ul permite comunicarea necesară și că serviciile RPC/WMI sunt active.

Pentru a salva ajutorul într-un fișier și a-l consulta ulterior fără a vă pierde în consolă, rețineți că puteți redirecționa rezultatul către un fișier .txt pe Desktop, ceea ce este util în special atunci când documentați o procedură internă sau partajați. cărți de joacă cu echipa.

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

Exemple practice de administrare zilnică

Rutine obișnuiteMonitorizarea proceselor care consumă multe resurse, identificarea DLL-urilor partajate și pregătirea unui fișier CSV pentru o revizuire ulterioară sunt sarcini comune. Iată o colecție de operațiuni rapide, toate bazate pe cele de mai sus și gata de a fi combinate și ajustate pentru a se potrivi mediului dumneavoastră.

Generarea unei liste detaliate și menținerea consolei deschise ulterior este utilă pentru observarea în timp real fără a închide fereastra. Prin combinarea CMD /K Cu lista de activități ai un flux de lucru confortabil.

CMD /K TASKLIST /V

Localizați toate procesele care au un modul încărcat cu un model. wildcard la sfârșitul numelui DLL-ului Vă permite să acoperiți diferite versiuni sau variante ale aceleiași biblioteci de sistem.

tasklist /m ntdll*

O listă combinată a două aplicații foarte comune, pentru a vedea rapid câte instanțe aveți deschise și utilizarea memoriei de către acestea. Acest lucru vă poate oferi un indiciu dacă există probleme. multiprocesare excesivă sau filele de browser declanșate.

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

Terminați accesul prin acreditări și model de nume de imagine pe un server la distanță. Foarte util în mediile corporative unde desktopul la distanță adesea nu răspunde din cauza proceselor de birou înlănțuite.

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

Și dacă vrei să fii strict selectiv în funcție de sursă, oprește doar ceea ce a fost lansat de contul de sistem. Acest filtru este foarte eficient atunci când se investighează. comportamente de serviciu față de procesele utilizatorilor.

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

Sfaturi de siguranță și cele mai bune practici

Evitați terminarea proceselor de sistem fără a verifica mai întâi funcția lor; acest lucru ar putea cauza instabilitate sau pierderi de date. Înainte de terminare, identificați-vă cu listă de sarcini /v Și, dacă poți, încearcă o închidere normală din interfață. Rezervă /F Pentru cazurile în care nu există alternativă, consultați lista de Servicii Windows 11 pe care nu ar trebui să le dezactivezi înainte de a acționa.

Pentru acces la distanță, utilizați conturi cu privilegiile minime necesare și, dacă gestionați mai multe computere, luați în considerare scripturi care înregistrează ce a fost închis și când. Redirecționați ieșirea în format CSV sau TXT pentru a lăsa o urmă și protejați orice fișiere care conțin astfel de date. parole sau acreditări cu aceeași secretizare ca un secret de producție.

În cele din urmă, rețineți că uneori cea mai rapidă soluție este cea grafică: deschideți Managerul de activități și închideți manual procesul necinstit. Consola excelează la automatizare, diagnosticare precisă și acțiuni repetabileInterfața grafică te salvează atunci când ai nevoie de un clic imediat.

Până acum stăpânești cum să inventariezi, să filtrezi și să închizi procese cu tasklist și taskkill și cum să creezi, să interoghezi și să ștergi servicii cu sc, atât local, cât și de la distanță. Cu exemplele și avertismentele din acest articol, vei putea să-ți creezi propriile scripturi de mentenanță, să răspunzi la erori în câteva secunde și să generezi rapoarte CSV sau TXT rafinate pentru echipa ta, aplicând întotdeauna principiul intervenției minime. control maxim despre ce rulează pe sistemele dumneavoastră.

Tasklist și Taskkill pentru gestionarea proceselor în Windows
Articol asociat:
Cum să gestionezi procesele și activitățile în Windows cu TASKLIST și TASKKILL