- Napredno korištenje popisa zadataka i završetka zadataka za reviziju i zatvaranje procesa pomoću filtera, CSV-a i udaljenog izvršavanja.
- Sveobuhvatno upravljanje uslugama pomoću sc: kreiranje, upit, pokretanje, zaustavljanje i brisanje lokalno i udaljeno.
- Najbolje prakse: najmanje privilegija, mjere opreza na daljinu i odgovorno korištenje /F i filtera.
Ako svakodnevno radite s Windowsima , kontrola onoga što se izvršava i kako reagirati kada se nešto zaglavi čini veliku razliku između brzog i sporog računala. Srećom, s nekoliko izvornih naredbi poput tasklist, taskkill i sc, možete revidirati, filtrirati, zaustavljati i automatizirati procese i usluge, i lokalno i na udaljenim računalima.
U ovom praktičnom vodiču, korak po korak, objasnit ću kako navesti procese u različitim formatima, kako primijeniti napredne filtere, kako sigurno zatvoriti zamrznute aplikacije i kako precizno upravljati sistemskim uslugama. Sve je to pokriveno primjerima iz stvarnog svijeta spremnim za kopiranje i lijepljenje , upozorenjima o udaljenom pristupu i korisnim savjetima i trikovima koji će vam olakšati navigaciju konzolom.
Procesi i usluge: po čemu su slični, a po čemu se razlikuju
U sustavu Windows, proces je program koji se izvršava, može imati niti, izvršavati zadatke i završiti kada završi svoj rad. S druge strane, servis je sistemska komponenta koja obično radi u pozadini, može se pokrenuti, zaustaviti, nastaviti ili ponovno pokrenuti te po svojoj prirodi ostaje aktivna sve dok sustav ili administrator ne odluči drugačije.
Ključne razlike uključuju: procesi se mogu izvoditi u prvom planu ili pozadini i prekidaju se kada je to potrebno, dok se usluge upravljaju stanjima (pokretanje, zaustavljanje, pauza, nastavak) i dizajnirane su za trajanje. Proces može stvarati ili kontrolirati usluge, a usluga pak može pokretati podprocese.
Ako preferirate grafičko sučelje, Upravitelj zadataka (taskmgr.exe) pruža snimku vašeg trenutnog sustava: karticu Procesi za CPU, memoriju, GPU, mrežu i status (uključujući klasični "Ne odgovara") te karticu Usluge za prikaz njihovog PID-a, statusa, vrste pokretanja i proizvođača. Ali kada vam je potrebna preciznost, automatizacija i udaljeni pristup, naredbeni redak je vaš najbolji prijatelj.
Ključni alati za upravljanje sustavom iz konzole
Osnovni uslužni programi koje trebate znati su: tasklist (za popisivanje procesa), taskkill (za prekidanje procesa prema PID-u ili nazivu slike) i sc (za upravljanje servisima pomoću Upravitelja kontrole usluga). Također su vrlo korisni WMIC (za upite WMI-ju putem konzole) i naredbe query/qprocess za pregled procesa prema sesiji ili korisniku.
Pomoću ovih naredbi možete generirati CSV izvješća za Excel, kreirati popise bez zaglavlja, primjenjivati filtere prema korištenju memorije ili statusu i djelovati s kirurškom preciznošću: od prekida lažnog notepad.exe do zatvaranja cijelog stabla podređenih procesa pokrenutih pomoću cmd.exe konzole.
Popis procesa s popisom zadataka: filteri, formati i primjeri
Najizravnija naredba za pregled izvršavanja je `tasklist` . Bez ikakvih opcija, dobit ćete naziv slike, PID, sesiju i korištenje memorije. Ali zanimljiv dio dolazi s modifikatorima koji vam omogućuju filtriranje i prilagođavanje izlaza prema vašim željama.
Vrlo praktični parametri: /V (detaljan), /SVC (prikazuje usluge koje hostira svaki proces), /M (koji procesi učitavaju određeni DLL/EXE), /FO ("TABLE", "LIST", "CSV"), /NH (skriva zaglavlja u TABLE/CSV) i /FI (filteri). Tu su i /S , /U i /P za udaljeno izvršavanje s vjerodajnicama.
Pomoću ovih naredbi možete generirati CSV izvješća za Excel, kreirati popise bez zaglavlja, primjenjivati filtere prema korištenju memorije ili statusu i djelovati s kirurškom preciznošću: od prekida lažnog notepad.exe do zatvaranja cijelog stabla podređenih procesa pokrenutih pomoću cmd.exe konzole.
Za pregled cijele pomoći na radnoj površini, možete kopirati izlaz pomoću: "TASKLIST /? >%userprofile%/Desktop/uso.txt" . Na taj način imat ćete sve objašnjene opcije pri ruci i nećete se morati oslanjati na memoriju pri radu sa složenim filterima.
tasklist
tasklist /v
tasklist /svc
tasklist /m ntdll.dll
CSV izlaz je idealan za otvaranje u Excelu ili obradu skriptama. Možete generirati vrlo detaljno izvješće poput ovog: CSV + detaljna datoteka za računalo, spremna za analizu s filterima i pivot tablicama.
tasklist /v /fo csv >%userprofile%/Desktop/list.csv
Ako tražite nešto sažetije, s hosting uslugama i u tekstualnom formatu: LIST + TXT preusmjereno na radnu površinu. Savršeno je za brzi pregled u Notepadu i za jednostavno dijeljenje s kolegom.
tasklist /svc /fo list >%userprofile%/Desktop/list.txt
Filtriranje je nevjerojatno moćno. Možete, na primjer, zadržati samo pokrenute aplikacije i detaljno ih pregledati: to vam pomaže da se usredotočite na ono što je trenutno aktivno, izostavljajući zadatke koji su pauzirani ili obustavljeni u nekim izdanjima.
tasklist /v /fi "STATUS eq running"
Još jedan klasik: lociranje procesa koji učitavaju određeni DLL, kao što je ntdll.dll . Vrlo korisno za dijagnostiku ili prilikom istraživanja ovisnosti.
tasklist /m ntdll.dll
Također je moguće filtriranje prema korištenju memorije pomoću raspona . Na primjer, da biste vidjeli procese koji koriste više od 15000 KB i manje od 19000 KB RAM-a, možete spojiti dvije naredbe /FI i dobiti točno onaj segment koji vas zanima.
tasklist /fi "memusage gt 15000" /fi "memusage lt 19000"
Drugi ponavljajući obrazac uključuje kombiniranje popisa : popis notepad.exe i firefox.exe s dva povezana poziva pomoću operatora & , što ostavlja oba rezultata na zaslonu u jednom prolazu.
tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"
Trebate li CSV datoteke izravno u konzoli, ali samo za procese s PID-om > 1000 ? Nema problema: filtriranjem i formatiranjem sve je spremno za preusmjeravanje ili obradu u drugom programu.
tasklist /v /fi "PID gt 1000" /fo csv
Ako želite izvesti tu CSV datoteku, jednostavno dodajte preusmjeravanje. To je vrlo praktično kada izrađujete izvješća o perimetru ili prikupljate podatke o incidentima.
tasklist /v /fi "PID gt 1000" /fo csv > procs.csv
Filtriranje prema korisniku i statusu, uz isključivanje ovlaštenja sustava, korisno je pri pretraživanju aktivnih "korisničkih" procesa . Ovaj prikaz filtrira buku sustava i omogućuje vam da se usredotočite na ono što obično uzrokuje probleme u uredskim okruženjima.
tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"
U udaljenim scenarijima, tasklist se ističe. Možete poslati upit poslužitelju pod nazivom srvmain koristeći svoje trenutne ili prilagođene vjerodajnice, a također možete filtrirati prema učitanim modulima i uslugama. Imajte na umu da se filtri WINDOWTITLE i STATUS ne primjenjuju udaljeno.
tasklist /s srvmain
tasklist /s srvmain /u maindom\hiropln /p p@ssW23
tasklist /s srvmain /svc /fi "MODULES eq ntdll*"
Brzi savjet: Ako želite da prozor naredbenog retka ostane otvoren nakon pokretanja popisa, upotrijebite naredbu CMD /K . To je jednostavan način da "vidite i ostanete" u konzoli bez potrebe da je svaki put ponovno pokrećete.
CMD /K TASKLIST /V
Zatvaranje zadataka pomoću taskkilla: sintaksa, filteri i primjeri iz stvarnog svijeta
Kada aplikacija prestane reagirati, nepotrebno troši resurse ili otvori previše podređenih procesa, taskkill je rješenje. Omogućuje vam prekid procesa prema PID-u ili nazivu slike, prisilno prekidanje i, ako je potrebno, rušenje cijelog stabla podređenih procesa jednim modifikatorom.
Opća sintaksa podržava udaljeno izvršavanje s korisničkim imenom i lozinkom, višestruke povezane filtere i izvršavanje prema PID-u ili IMAGE_NAME (s džokerima za imena ako dodate filter). Napomena: Udaljeno izvršavanje je uvijek prisilno i filteri WINDOWTITLE/STATUS se ne primjenjuju.
taskkill <usuario> ]]] { }
Završetak pomoću PID-a je najizravniji pristup i smanjuje rizik od slučajnog prekida drugih procesa sa sličnim imenima. Možete ubiti jedan ili više PID-ova istom naredbom, što je korisno pri čišćenju zombi procesa koji se sami repliciraju.
taskkill /pid 1230
taskkill /pid 1230 /pid 1241 /pid 1253
Završetak prema nazivu slike je prikladan za "zatvaranje" određene aplikacije u svim njezinim procesima, posebno ako koristi višestruko procesiranje kao što to čini većina modernih preglednika. Korištenje /F prisiljava aplikaciju na zatvaranje, a /T uklanja podprocese.
taskkill /f /im notepad.exe
Ako želite ubiti sve procese s PID-om većim ili jednakim 1000, bez obzira na njihovo ime, možete kombinirati filter s `/im *` . Ovaj uzorak je za vrlo specifične svrhe sanacije; koristite ga mudro.
taskkill /f /fi "PID ge 1000" /im *
Filtri prema statusu i naslovu vrlo su korisni za uklanjanje uskih grla . Na primjer, možete prisilno zatvoriti sve što "ne reagira", isključujući prozore čiji naslov ne odgovara vašim kriterijima. Imajte na umu da ovi filtri ne rade na daljinu.
taskkill /f /fi "STATUS eq NOT RESPONDING"
Postoje posebni procesi koje vrijedi znati: zatvaranje wscript.exe prekida sve VBScript skripte koje su se zaglavile, a ponovno pokretanje Windows Explorera rješava vas problema kada se traka zadataka ili ljuska zamrzne.
taskkill /f /im wscript.exe
taskkill /f /im explorer.exe & start explorer.exe
Ako želite dati sustavu pauzu prije ponovnog pokretanja ljuske, dodajte nekoliko sekundi ` timeout` . To je mali korak koji može spriječiti pogreške kada su u tijeku operacije s diskom.
taskkill /f /im explorer.exe & timeout /nobreak 05 & start explorer.exe
Druga uobičajena upotreba: zatvaranje konzole i svega što je možda pokrenula u kaskadi. Korištenje /T osigurava da se u pozadini ne izvršavaju podređene naredbe.
taskkill /f /im cmd.exe /t
Taskkill također podržava udaljeno izvršavanje s vjerodajnicama, što je bitno kada je poslužitelj preopterećen procesom koji troši resurse pri pokretanju . Zamjenski znakovi omogućuju vam ciljanje više izvršnih datoteka sa sličnim nazivima, kao što je "note*", kako biste pronašli Notepad i druge povezane programe.
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
Ako trebate djelovati s kriterijem sigurnosti, možete ubiti samo ono što je pokrenulo sustav ( NT AUTHORITY\SYSTEM korisnik ) kako biste bili sigurni da nećete nepotrebno zatvarati korisničke alate.
taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
A ako želite nešto još osnovnije, tu je tskill , koji vam omogućuje prekidanje procesa na razini sesije (manje fleksibilno od taskkilla, ali korisno u starijim ili vrlo ograničenim okruženjima). Administratori ga mogu koristiti protiv procesa u drugim sesijama.
tskill 1230
tskill explorer /id:1
Automatizirajte gašenja pri pokretanju sustava Windows pomoću batch datoteka
Postoje scenariji u kojima je korisno odmah ubiti procese nakon prijave, na primjer, kako biste onemogućili nepotrebne usluge koje ometaju pokretanje. To možete učiniti jednostavnom batch datotekom u mapi Startup bez korištenja Task Schedulera.
Izradite .bat datoteku s potrebnim taskkill linijama i premjestite je u korisnikovu mapu Startup. Ovu mapu možete jednostavno otvoriti upisivanjem shell:Startup u dijaloški okvir Pokreni (Win+R) i potvrdom.
@echo off
taskkill /f /im proceso1.exe
taskkill /f /im proceso2.exe
taskkill /f /im proceso3.exe
Drugi načini popisivanja: WMIC, query i qprocess
Za napredni pregled i izvoz sirovih podataka, WMIC je čisto zlato i nadopunjuje alate za otkrivanje zlonamjernih procesa . Možete odabrati stupce koji vas zanimaju (naslov, naredbeni redak, PID itd.) i izvesti ih u datoteku na disku za kasniju analizu ili uključivanje u izvješće.
WMIC /OUTPUT:C:\procs.txt PROCESS get Caption,Commandline,Processid
Nadalje, pomoću naredbe `query` i njenog aliasa `qprocess`, lako je vidjeti tko što pokreće, u kojoj sesiji i s kojim PID-om. To je vrlo korisno na poslužiteljima s Uslugama udaljene radne površine, gdje svaka sesija može imati vlastitu farmu aktivnih procesa.
query process *
query process /id:1
Ova obitelj naredbi prikazuje, između ostalih podataka, vlasnika, naziv sesije, ID sesije, naziv procesa i PID. Zajedno pružaju perspektivu više sesija koju tasklist također može prikazati, ali s posebnim naglaskom na Terminal Services.
Upravljanje uslugama pomoću sc-a: stvaranje, upit, pokretanje i brisanje
Za upravljanje sistemskim uslugama, naredba `sc` je izravna ruta do Upravitelja kontrole usluga (Services.msc ). Pomoću nje možete stvoriti novu uslugu, izmijeniti njezin opis, pokrenuti je ili zaustaviti, pauzirati je ili izbrisati unose u registru usluga. Također radi na daljinu tako da se ispred naredbe stavi `\\`.
Izrada primjera usluge s automatskim pokretanjem jednostavna je kao navođenje simboličkog naziva, binarne putanje i vrste pokretanja. Obratite pozornost na razmake nakon znakova jednakosti: oni su važni u `sc`, stoga se pridržavajte točne sintakse.
sc create NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto
Da biste to učinili na udaljenom hostu , ispred naziva računala napišite . Od tada će ostale naredbe (start, stop, delete) raditi potpuno isto s tim nazivom usluge.
sc create \\miservidor NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto
Pokretanje, zaustavljanje ili promjena administrativnog statusa novokreirane usluge je jednostavno. Često ćete kombinirati ove naredbe s tasklist/taskkill kada usluga pokrene problematične podprocese.
sc start NuevoServicio
sc stop NuevoServicio
sc pause NuevoServicio
Za reviziju je `sc upit` u svojim raznim oblicima vrlo koristan: aktivne usluge, sve usluge, interaktivne usluge ili određena usluga sa svojim statusom. Ovaj prikaz nadopunjuje `tasklist /svc` kada su vam potrebne informacije o statusu i vrsti u stvarnom vremenu .
sc query
sc query type= service
sc query state= all
sc query NuevoServicio
sc query type= service type= interact
A kada vam više nije potrebna, uslugu možete ukloniti iz registra jednostavnim brisanjem. Imajte na umu da se mora zaustaviti; inače će operacija propasti ili će ostati na čekanju dok se resursi ne oslobode.
sc delete NuevoServicio
Pomoć, podržani filteri i nijanse udaljenog načina rada
Obje naredbe, tasklist i taskkill, prikazuju vrlo opsežnu pomoć izravno iz konzole. Odvojite trenutak da je pročitate: vidjet ćete podržane filtere kao što su PID (eq, ne, gt, lt, ge, le), IMAGENAME (eq, ne), USERNAME , MEMUSAGE , MODULES ili WINDOWTITLE , te statusne vrijednosti kao što su RUNNING, NOT RESPONDING ili UNKNOWN (u nekim izdanjima i SUSPENDED).
Postoje neka pravila koja treba zapamtiti: zamjenski znak * za /IM prihvaća se samo kada primijenite filter; u udaljenom načinu rada, dovršavanje je uvijek prisilno, a filteri WINDOWTITLE i STATUS se ne procjenjuju. Ako ćete pokrenuti udaljeno, provjerite imate li valjane vjerodajnice , da vatrozid dopušta potrebnu komunikaciju i da su RPC/WMI servisi pokrenuti.
Da biste spremili pomoć u datoteku i kasnije je koristili bez da se izgubite u konzoli, imajte na umu da izlaz možete preusmjeriti u .txt datoteku na radnoj površini, što je posebno korisno prilikom dokumentiranja internog postupka ili dijeljenja priručnika s timom.
TASKLIST /? >%userprofile%/Desktop/uso_tasklist.txt
TASKKILL /? >%userprofile%/Desktop/uso_taskkill.txt
Praktični primjeri svakodnevne administracije
Uobičajene rutine : Praćenje procesa koji intenzivno koriste resurse, identificiranje dijeljenih DLL-ova i priprema CSV datoteke za kasniji pregled uobičajeni su zadaci. Evo zbirke brzih operacija, sve temeljene na gore navedenom i spremne za kombiniranje i prilagodbu vašem okruženju.
Generiranje detaljnog popisa i ostavljanje konzole otvorenom nakon toga korisno je za praćenje u stvarnom vremenu bez zatvaranja prozora. Kombiniranje CMD /K s popisom zadataka pruža praktičan tijek rada.
CMD /K TASKLIST /V
Pronađite sve procese koji imaju modul učitan s uzorkom. Zamjenski znak na kraju DLL naziva omogućuje vam pokrivanje različitih verzija ili varijanti iste sistemske biblioteke.
tasklist /m ntdll*
Kombinirani popis dviju vrlo uobičajenih aplikacija, za brzi pregled broja otvorenih instanci i njihove potrošnje memorije. To vam može dati ideju o tome postoji li prekomjerna višeprocesorska obrada ili kartice preglednika koje se pokreću neselektivno.
tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"
Prekinite pristup putem vjerodajnica i uzorka naziva slike na udaljenom poslužitelju. Vrlo korisno u korporativnim okruženjima gdje udaljena radna površina često ne reagira zbog ulančanih uredskih procesa.
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
A ako želite biti strogo selektivni prema porijeklu, zaustavite samo ono što je pokrenuo sistemski račun. Ovaj filter je vrlo učinkovit pri istraživanju ponašanja servisa u odnosu na korisničke procese.
taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
Sigurnosni savjeti i najbolje prakse
Izbjegavajte prekidanje sistemskih procesa bez prethodne provjere njihove funkcije; to bi moglo uzrokovati nestabilnost ili gubitak podataka. Prije prekida identificirajte proces pomoću naredbe `tasklist /v` i, ako je moguće, pokušajte ga normalno isključiti iz sučelja. ` /F` rezervirajte za slučajeve kada nema alternative. Prije nego što nastavite, pogledajte popis usluga sustava Windows 11 koje ne biste trebali onemogućiti.
Prilikom rada na daljinu koristite račune s minimalnim potrebnim privilegijama, a ako upravljate s više računala, razmislite o skriptama koje bilježe što je zatvoreno i kada. Preusmjerite izlaz u CSV ili TXT kako biste ostavili trag i zaštitite datoteke koje sadrže lozinke ili vjerodajnice s istim žarom kao i produkcijsku tajnu.
Konačno, zapamtite da je ponekad najbrži način grafički pristup: otvorite Upravitelj zadataka i ručno zatvorite lažni proces. Konzola se ističe automatizacijom, točnom dijagnostikom i ponovljivim radnjama ; grafičko korisničko sučelje priskače u pomoć kada vam je potreban trenutni klik.
Do sada ste savladali kako inventirati, filtrirati i prekidati procese pomoću tasklist i taskkill te kako stvarati, ispitivati i brisati servise pomoću sc, lokalno i udaljeno. Pomoću primjera i upozorenja u ovom članku moći ćete izraditi vlastite skripte za održavanje, reagirati na padove u sekundama i generirati dotjerana CSV ili TXT izvješća za svoj tim, uvijek primjenjujući načelo minimalne intervencije i maksimalne kontrole nad onim što se izvodi na vašim sustavima.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje pisanjem, a to je ono što ću učiniti na ovom blogu, pokazati vam sve najzanimljivije stvari o gadgetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se snađete u digitalnom svijetu na jednostavan i zabavan način.