Optimizimi i shërbimeve dhe proceseve me sc, tasklist dhe taskkill

Përditësimi i fundit: 29/10/2025
Author: Isaac
  • Përdorim i avancuar i listës së detyrave dhe taskkill për të audituar dhe mbyllur proceset me filtra, CSV dhe ekzekutim në distancë.
  • Menaxhim gjithëpërfshirës i shërbimit me sc: krijim, pyetje, fillim, ndalim dhe fshirje në nivel lokal dhe nga distanca.
  • Praktikat më të mira: privilegjet më të pakta, masat paraprake në distancë dhe përdorimi i përgjegjshëm i /F dhe filtrave.

Optimizimi i shërbimeve dhe proceseve në Windows

Nëse punoni me Windows çdo ditë, kontrolli i asaj që funksionon dhe si të reagoni kur diçka ngec bën gjithë ndryshimin midis një makine të shpejtë dhe një të ngadaltë. Për fat të mirë, me një numër të vogël komandash vendase si tasklist, taskkill dhe sc, mund të auditoni, filtroni, ndaloni dhe automatizoni proceset dhe shërbimet, si në nivel lokal ashtu edhe në makina të largëta.

Në këtë udhëzues praktik, do të shpjegoj hap pas hapi se si të listohen proceset në formate të ndryshme, si të aplikohen filtra të avancuar, si të mbyllen në mënyrë të sigurt aplikacionet e ngrira dhe si të menaxhohen me saktësi shërbimet e sistemit. E gjithë kjo trajtohet me shembuj nga bota reale, gati për t'u kopjuar dhe ngjitur , paralajmërime për akses në distancë dhe këshilla e truke të dobishme për ta bërë navigimin në konsolë shumë të lehtë.

Proceset dhe shërbimet: si janë të ngjashme dhe si ndryshojnë

Në Windows, një proces është një program në ekzekutim që mund të ketë fije pune (thread-e), të ekzekutojë detyra dhe të përfundojë kur të përfundojë punën e tij. Nga ana tjetër, një shërbim është një komponent sistemi që zakonisht funksionon në sfond, mund të niset, ndalet, rifillohet ose riniset dhe, sipas dizajnit, mbetet aktiv derisa sistemi ose një administrator të vendosë ndryshe.

Dallimet kryesore përfshijnë: proceset mund të funksionojnë në plan të parë ose në sfond dhe ndërpriten kur është e nevojshme, ndërsa shërbimet menaxhohen me gjendje (nisje, ndalim, pauzë, vazhdim) dhe janë të dizajnuara për të vazhduar. Një proces mund të krijojë ose kontrollojë shërbime, dhe një shërbim, nga ana tjetër, mund të nisë procese fëmijë.

Nëse preferoni një ndërfaqe grafike, Task Manager (taskmgr.exe) ofron një pamje të sistemit tuaj aktual: një skedë Procese për CPU-në, memorien, GPU-në, rrjetin dhe statusin (duke përfshirë edhe opsionin klasik "Nuk Përgjigjet"), dhe një skedë Shërbime për të parë PID-in e tyre, statusin, llojin e nisjes dhe prodhuesin. Por kur keni nevojë për precizion, automatizim dhe akses në distancë, rreshti i komandës është miku juaj më i mirë.

Mjetet kryesore për menaxhimin e sistemit nga konzola

Shërbimet thelbësore që duhet të dini janë: tasklist (për të listuar proceset), taskkill (për të përfunduar proceset sipas PID ose emrit të imazhit) dhe sc (për të menaxhuar shërbimet duke përdorur Service Control Manager). Gjithashtu shumë të dobishme janë WMIC (për të pyetur WMI përmes konsolës) dhe komandat query/qprocess për inspektimin e proceseve sipas sesionit ose përdoruesit.

Me këto komanda mund të gjeneroni raporte CSV për Excel, të krijoni lista pa kokë, të aplikoni filtra sipas përdorimit ose statusit të memories dhe të veproni me saktësi kirurgjikale: nga mbyllja e një notepad.exe mashtrues deri te mbyllja e një peme të tërë procesesh fëmijë të nisura nga një konsol cmd.exe.

Renditja e proceseve me listën e detyrave: filtra, formate dhe shembuj

Komanda më e drejtpërdrejtë për të parë se çfarë po ekzekutohet është `tasklist` . Pa asnjë opsion, do të merrni emrin e imazhit, PID-in, sesionin dhe përdorimin e memories. Por pjesa interesante vjen me modifikuesit e saj, të cilët ju lejojnë të filtroni dhe personalizoni rezultatin sipas dëshirës tuaj.

Parametra shumë praktikë: /V (i detajuar), /SVC (tregon shërbimet e hostuara nga secili proces), /M (cilët procese ngarkojnë një DLL/EXE specifike), /FO ("TABLE", "LIST", "CSV"), /NH (fsheh titrat në TABLE/CSV) dhe /FI (filtra). Ekzistojnë gjithashtu /S , /U dhe /P për ekzekutim në distancë me kredenciale.

Me këto komanda mund të gjeneroni raporte CSV për Excel, të krijoni lista pa kokë, të aplikoni filtra sipas përdorimit ose statusit të memories dhe të veproni me saktësi kirurgjikale: nga mbyllja e një notepad.exe mashtrues deri te mbyllja e një peme të tërë procesesh fëmijë të nisura nga një konsol cmd.exe.

Për të parë ndihmën e plotë në Desktopin tuaj, mund ta kopjoni rezultatin me: "TASKLIST /? >%userprofile%/Desktop/uso.txt" . Në këtë mënyrë, do t'i keni të gjitha opsionet e shpjeguara në dispozicion dhe nuk do të duhet të mbështeteni te memoria kur merreni me filtra kompleksë.

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

Rezultati CSV është ideal për hapje në Excel ose përpunim me skripte. Mund të gjeneroni një raport shumë të detajuar si ky: CSV + skedar i detajuar në Desktop, gati për analizë me filtra dhe tabela pivot.

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

Nëse po kërkoni diçka më koncize, me shërbime të hostuara dhe në format teksti: LIST + TXT të ridrejtuara në Desktop. Është perfekt për një rishikim të shpejtë në Notepad dhe për ta ndarë lehtësisht me një koleg.

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

Filtrimi është tepër i fuqishëm. Për shembull, mund të mbani vetëm aplikacionet që janë në punë dhe t'i shikoni ato në detaje: kjo ju ndihmon të përqendroheni në atë që është aktualisht aktive, duke lënë jashtë detyrat që janë ndaluar ose pezulluar në disa versione.

tasklist /v /fi "STATUS eq running"

Një tjetër klasik: gjetja e proceseve që po ngarkojnë një DLL specifike, siç është ntdll.dll . Shumë e dobishme për diagnostikim ose kur hetohen varësitë.

tasklist /m ntdll.dll

Filtrimi sipas përdorimit të memories duke përdorur diapazonet është gjithashtu i mundur. Për shembull, për të parë proceset që përdorin më shumë se 15000 KB dhe më pak se 19000 KB RAM, mund të bashkoni dy komanda /FI dhe të merrni segmentin e saktë që ju intereson.

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

Një tjetër model i përsëritur përfshin kombinimin e listave : lista e notepad.exe dhe firefox.exe me dy thirrje të lidhura zinxhir duke përdorur operatorin & , i cili i lë të dy rezultatet në ekran me një kalim të vetëm.

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

A ju nevojiten skedarë CSV direkt në konsol, por vetëm për procese me PID > 1000 ? Asnjë problem: me filtrimin dhe formatimin, gjithçka është gati për t'u ridrejtuar ose përpunuar në një program tjetër.

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

Nëse doni ta eksportoni atë skedar CSV, thjesht shtoni ridrejtimin. Kjo është shumë e përshtatshme kur krijoni raporte perimetri ose mbledhni të dhëna për incidentet.

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

Filtrimi sipas përdoruesit dhe statusit, ndërkohë që përjashton autoritetin e sistemit, është i dobishëm kur kërkoni për procese "të drejtpërdrejta" të "përdoruesit" . Kjo pamje shqyrton zhurmën e sistemit dhe ju lejon të përqendroheni në atë që zakonisht shkakton probleme në mjediset e zyrës.

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

Në skenarë të largët, lista e detyrave shkëlqen. Mund të pyesni një server të quajtur srvmain duke përdorur kredencialet tuaja aktuale ose të personalizuara, si dhe të filtroni sipas moduleve dhe shërbimeve të ngarkuara. Mbani mend se filtrat WINDOWTITLE dhe STATUS nuk zbatohen nga distanca.

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

Këshillë e shpejtë: Nëse dëshironi që dritarja e komandës të qëndrojë e hapur pas ekzekutimit të një liste, përdorni komandën CMD /K . Është një mënyrë e thjeshtë për të "parë dhe për të qëndruar" në tastierë pa pasur nevojë ta rinisni atë çdo herë.

CMD /K TASKLIST /V

Mbyllja e detyrave me taskkill: sintaksa, filtra dhe shembuj nga bota reale

Kur një aplikacion nuk përgjigjet, konsumon burime pa nevojë ose hap shumë procese fëmijë, taskkill është zgjidhja. Ju lejon të përfundoni një proces me anë të PID ose emrit të imazhit, të detyroni përfundimin dhe, nëse është e nevojshme, të mbyllni të gjithë pemën e proceseve fëmijë me një modifikues të vetëm.

  Si të jesh perëndeshë... Pse jo?

Sintaksa e përgjithshme mbështet ekzekutimin në distancë me një emër përdoruesi dhe fjalëkalim, filtra të shumtë të lidhur me zinxhir dhe ekzekutimin me PID ose IMAGE_NAME (me wildcards për emrat nëse shtoni një filtër). Shënim: Ekzekutimi në distancë është gjithmonë i detyruar dhe filtrat WINDOWTITLE/STATUS nuk zbatohen.

taskkill <usuario> ]]] {  }  

Përfundimi me PID është qasja më e drejtpërdrejtë dhe zvogëlon rrezikun e përfundimit aksidental të proceseve të tjera me emra të ngjashëm. Ju mund të eliminoni një ose më shumë PID në të njëjtën komandë, gjë që është e dobishme kur pastroni proceset zombi që replikohen vetë.

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

Përfundimi me emrin e imazhit është i përshtatshëm për "mbylljen" e një aplikacioni specifik në të gjitha proceset e tij, veçanërisht nëse ai përdor përpunim të shumëfishtë siç bëjnë shumica e shfletuesve modernë. Përdorimi i /F e detyron aplikacionin të mbyllet, dhe /T heq proceset e varura.

taskkill /f /im notepad.exe

Nëse doni të mbyllni të gjitha proceset me një PID më të madh ose të barabartë me 1000, pavarësisht nga emri i tyre, mund të kombinoni një filtër me `/im *` . Ky model është për qëllime shumë specifike korrigjimi; përdoreni me mençuri.

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

Filtrat sipas statusit dhe titullit janë shumë të dobishëm për eliminimin e pengesave . Për shembull, mund të mbyllni me forcë çdo gjë që "nuk përgjigjet", duke përjashtuar dritaret titulli i të cilave nuk i përshtatet kritereve tuaja. Mos harroni se këto filtra nuk funksionojnë nga distanca.

taskkill /f /fi "STATUS eq NOT RESPONDING"

Ka procese të veçanta që ia vlen t'i dini: mbyllja e wscript.exe ndërpret çdo skript VBScript që ka ngecur dhe rinisja e Windows Explorer ju shpëton nga problemet kur shiriti i detyrave ose shell-i ngrin.

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

Nëse preferoni t'i jepni sistemit një pushim para se të rinisni shell-in, shtoni disa sekonda ` timeout` . Është një hap i vogël që mund të parandalojë gabimet kur operacionet e diskut janë në proces.

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

Një tjetër përdorim i zakonshëm: mbyllja e konsolës dhe gjithçkaje që mund të ketë nisur në mënyrë kaskadë. Përdorimi i /T siguron që asnjë komandë e vogël të mos ekzekutohet në sfond.

taskkill /f /im cmd.exe /t

Taskkill mbështet gjithashtu ekzekutimin në distancë me kredenciale, gjë që është thelbësore kur një server mbingarkohet nga një proces që konsumon burime gjatë nisjes . Karakteristikat wildcard ju lejojnë të shënjestroni skedarë të shumtë ekzekutues me emra të ngjashëm, siç është "note*" për të gjetur Notepad dhe programe të tjera të lidhura.

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

Nëse duhet të veproni me një kriter sigurie, mund të mbyllni vetëm atë që e ka nisur sistemin ( përdoruesi NT AUTHORITY\SYSTEM ) për t'u siguruar që të mos i mbyllni mjetet e përdoruesit pa nevojë.

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

Dhe nëse dëshironi diçka edhe më bazike, ekziston tskill , i cili ju lejon të përfundoni proceset në nivelin e sesionit (më pak fleksibël se taskkill, por i dobishëm në mjedise të vjetra ose shumë të kufizuara). Administratorët mund ta përdorin atë kundër proceseve në sesione të tjera.

tskill 1230
tskill explorer /id:1

Automatizoni mbylljet gjatë nisjes së Windows duke përdorur skedarë grumbulli

Ka skenarë ku është e dobishme të mbyllni proceset menjëherë pas hyrjes, për shembull, për të çaktivizuar shërbimet e panevojshme që pengojnë nisjen. Mund ta bëni këtë me një skedar të thjeshtë batch në dosjen Startup pa përdorur Task Scheduler.

  Si të jesh perëndeshë... Pse jo?

Krijo një skedar .bat me rreshtat taskkill që të nevojiten dhe zhvendose atë në dosjen Startup të përdoruesit. Mund ta hapësh lehtësisht këtë dosje duke shkruar shell:Startup në kutinë e dialogut Run (Win+R) dhe duke e konfirmuar.

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

Mënyra të tjera për të listuar: WMIC, query dhe qprocess

Për inspektim të avancuar dhe eksport të të dhënave të papërpunuara, WMIC është flori i pastër dhe plotëson mjetet për zbulimin e proceseve keqdashëse . Mund të zgjidhni kolonat që ju interesojnë (titulli, rreshti i komandës, PID, etj.) dhe t'i eksportoni ato në një skedar në disk për analiza të mëvonshme ose për t'i përfshirë në një raport.

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

Për më tepër, me `query` dhe pseudonimin e tij `qprocess`, është e lehtë të shihet se kush po ekzekuton çfarë, në cilën seancë dhe me cilin PID. Kjo është shumë e dobishme në serverat me Shërbime Desktopi në Distancë, ku çdo seancë mund të ketë fermën e vet të proceseve aktive.

query process *
query process /id:1

Kjo familje komandash shfaq, ndër të dhëna të tjera, përdoruesin pronar, emrin e sesionit, ID-në e sesionit, emrin e procesit dhe PID-in. Së bashku, ato ofrojnë një perspektivë me shumë seanca që mund ta shfaqë edhe lista e detyrave, por me një fokus të veçantë në Shërbimet Terminale .

Menaxhoni shërbimet me sc: krijoni, kërkoni, filloni dhe fshini

Për menaxhimin e shërbimeve të sistemit, komanda `sc` është rruga e drejtpërdrejtë për te Menaxheri i Kontrollit të Shërbimeve (Services.msc ). Me të, ju mund të krijoni një shërbim të ri, të modifikoni përshkrimin e tij, ta nisni ose ta ndaloni atë, ta pauzoni ose të fshini hyrjet e regjistrit të shërbimeve. Gjithashtu funksionon nga distanca duke i paraprirë komandës me `\\`.

Krijimi i një shërbimi shembull me nisje automatike është aq i thjeshtë sa specifikimi i një emri simbolik, shtegut binar dhe llojit të nisjes. Kushtojini vëmendje hapësirave pas shenjave të barazimit: ato kanë rëndësi në `sc`, prandaj përmbajuni sintaksës së saktë.

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

Për ta bërë këtë në një host të largët , vendosni një komandë përpara emrit të makinës. Që nga ajo kohë e tutje, pjesa tjetër e komandave (start, stop, delete) do të funksionojnë njësoj me atë emër shërbimi.

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

Fillimi, ndalimi ose ndryshimi i statusit administrativ të një shërbimi të sapokrijuar është i thjeshtë. Shpesh do t'i kombinoni këto komanda me tasklist/taskkill kur një shërbim nis procese problematike fëmijësh.

sc start NuevoServicio
sc stop NuevoServicio
sc pause NuevoServicio

Për auditimin, pyetja `sc query` në format e saj të ndryshme është shumë e dobishme: shërbime aktive, të gjitha shërbimet, shërbime interaktive ose një shërbim specifik me statusin e tij. Kjo pamje plotëson `tasklist /svc` kur keni nevojë për informacion në kohë reale për statusin dhe llojin .

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

Dhe kur nuk keni më nevojë për të, mund ta hiqni një shërbim nga regjistri me një fshirje të thjeshtë. Mbani mend se duhet të ndalet; përndryshe, operacioni do të dështojë ose do të mbetet pezull derisa të lirohen burimet.

sc delete NuevoServicio

Ndihmë, filtra të mbështetur dhe nuanca të modalitetit në distancë

Të dyja komandat, tasklist dhe taskkill, shfaqin ndihmë shumë gjithëpërfshirëse direkt nga konzola. Lexojeni pak: do të shihni filtra të mbështetur si PID (eq, ne, gt, lt, ge, le), IMAGENAME (eq, ne), USERNAME , MEMUSAGE , MODULES ose WINDOWTITLE , dhe vlera statusi si RUNNING, NOT RESPONDING ose UNKNOWN (në disa botime, edhe SUSPENDED).

  Hapja e sesioneve të Hotmail – Si të mbyllni Outlook/Hotmail?

Ka disa rregulla për t'u mbajtur mend: karakteri * për /IM pranohet vetëm kur aplikoni një filtër; në modalitetin në distancë, përfundimi është gjithmonë i detyruar dhe filtrat WINDOWTITLE dhe STATUS nuk vlerësohen. Nëse do të ekzekutoni në distancë, sigurohuni që keni kredenciale të vlefshme , që firewall lejon komunikimin e nevojshëm dhe që shërbimet RPC/WMI janë duke u ekzekutuar.

Për të ruajtur ndihmën në një skedar dhe për t'iu referuar asaj më vonë pa u humbur në tastierë, mos harroni se mund ta ridrejtoni rezultatin në një skedar .txt në Desktop, gjë që është veçanërisht e dobishme kur dokumentoni një procedurë të brendshme ose ndani manualet me ekipin.

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

Shembuj praktikë të administrimit të përditshëm

Rutinat e zakonshme : Monitorimi i proceseve që kërkojnë shumë burime, identifikimi i DLL-ve të përbashkëta dhe përgatitja e një skedari CSV për shqyrtim të mëvonshëm janë të gjitha detyra të zakonshme. Ja një koleksion operacionesh të shpejta, të gjitha të bazuara në sa më sipër dhe gati për t'u kombinuar dhe përshtatur për t'iu përshtatur mjedisit tuaj.

Gjenerimi i një liste të detajuar dhe mbajtja e hapur e konsolës më pas është e dobishme për monitorim në kohë reale pa e mbyllur dritaren. Kombinimi i CMD /K me listën e detyrave ofron një rrjedhë pune të përshtatshme.

CMD /K TASKLIST /V

Gjeni të gjitha proceset që kanë një modul të ngarkuar me një model. Shenja e ndyrë në fund të emrit të DLL ju lejon të mbuloni versione ose variante të ndryshme të së njëjtës bibliotekë sistemi.

tasklist /m ntdll*

Një listë e kombinuar e dy aplikacioneve shumë të zakonshme, për të parë shpejt se sa instanca keni të hapura dhe përdorimin e memories së tyre. Kjo mund t'ju japë një ide nëse ka shumëpërpunime ose skedat e shfletuesit që funksionojnë pa dallim.

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

Ndërprit aksesin me anë të kredencialeve dhe modelit të emrit të imazhit në një server të largët. Shumë i dobishëm në mjediset e korporatave ku desktopi i largët shpesh nuk përgjigjet për shkak të proceseve të lidhura me zinxhir të zyrës.

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

Dhe nëse doni të jeni rreptësisht selektiv sipas origjinës, hiqni vetëm atë që është nisur nga llogaria e sistemit. Ky filtër është shumë efektiv kur heton sjelljen e shërbimit në lidhje me proceset e përdoruesit.

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

Këshilla sigurie dhe praktikat më të mira

Shmangni ndërprerjen e proceseve të sistemit pa verifikuar më parë funksionin e tyre; kjo mund të shkaktojë paqëndrueshmëri ose humbje të të dhënave. Para ndërprerjes, identifikoni procesin duke përdorur `listën e detyrave /v` dhe, nëse është e mundur, provoni një mbyllje normale nga ndërfaqja. Rezervoni ` /F` për rastet kur nuk ka alternativë. Konsultohuni me listën e shërbimeve të Windows 11 që nuk duhet t'i çaktivizoni para se të vazhdoni.

Kur punoni nga distanca, përdorni llogari me privilegjet minimale të nevojshme dhe, nëse menaxhoni shumë makina, merrni në konsideratë skripte që regjistrojnë se çfarë është mbyllur dhe kur. Ridrejtoni rezultatin në CSV ose TXT për të lënë një gjurmë dhe mbrojini skedarët që përmbajnë fjalëkalime ose kredenciale me të njëjtin zell si një sekret prodhimi.

Së fundmi, mos harroni se ndonjëherë mënyra më e shpejtë është qasja grafike: hapni Task Manager dhe mbyllni manualisht procesin mashtrues. Konsola shkëlqen në automatizim, diagnostikim të saktë dhe veprime të përsëritshme ; ndërfaqja grafike (GUI) vjen në ndihmë kur keni nevojë për një klikim të menjëhershëm.

Deri tani keni zotëruar mënyrën e inventarizimit, filtrimit dhe përfundimit të proceseve me tasklist dhe taskkill, dhe si të krijoni, kërkoni dhe fshini shërbimet me sc, si në nivel lokal ashtu edhe në distancë. Me shembujt dhe paralajmërimet në këtë artikull, do të jeni në gjendje të ndërtoni skriptet tuaja të mirëmbajtjes, t'u përgjigjeni rrëzimeve brenda sekondave dhe të gjeneroni raporte të rafinuara CSV ose TXT për ekipin tuaj, duke zbatuar gjithmonë parimin e ndërhyrjes minimale dhe kontrollit maksimal mbi atë që funksionon në sistemet tuaja.

Tasklist dhe Taskkill për të menaxhuar proceset në Windows
Artikuj të ngjashëm:
Si të menaxhoni proceset dhe detyrat në Windows me TASKLIST dhe TASKKILL