Pro­cess Ex­plo­rer - run­saas­ti tie­toa pro­ses­seis­ta

Jokainen Windows käyttäjä kokeilee varmasti edes joskus Windowsin Tehtävienhallintaa, ja paljon Windowsin kanssa painivalle tehtävienhallinta tulee tutuksi työvälineeksi. Peruskäytössä tehtävienhallinnalla pärjää, mutta jos harrastat yhtään vakavammin Windowsin sielunelämän tutkimista, on suorastaan pakko tutustua Process Exploreriin.

Process Explorer on nykyään Microsoftiin kuuluvan Sysinternalsin tekemä ilmainen ohjelma, joka kertoo monenlaista tietoa prosesseista. Se siis vastaa Windowsin tehtävienhallintaa, paitsi että se on paljon tehtävienhallintaa monipuolisempi. Process Explorerilla pystyy selvittämään monia ongelmia tai muuten vain tutkailemaan mitä Windowsin konepellin alla oikein tapahtuu. Tässä on esitelty joitain Process Explorerin ominaisuuksia, mutta mitään käyttöohjetta Process Explorerille en edes yritä tehdä, se vaatisi todella paljon aikaa ja vaivaa. Osaaville käyttäjille selvinnee kuitenkin mitkä ovat Process Explorerin mahdollisuudet ja he keksivät kyllä käyttökohteita.

Process Explorer toimii Windows XP:ssä tai uudemmassa Windowsissa.

HUOM! Suuri osa tässä esitellyistä ominaisuuksista vaatii että Process Explorer on käynnistetty Järjestelmän valvojan oikeuksin. Process Explorer kannattaakin määritellä käynnistettäväksi aina järjestelmänvalvojan oikeuksin.

Sel­ke­ä lis­ta pro­ses­seis­ta

Process Explorer näyttää listan prosesseista, joita voi lajitella eri sarakkeiden mukaan. Vaihtoehtoisesti prosessit voidaan näyttää myös hierarkkisessa järjestyksessä, jolloin helposti näkee, mikä prosessi on kenenkin jälkeläinen. Eri listausvaihtoehtojen välillä voi vaihtaa klikkaamalla Process -sarakkeen otsikkoa (tai valitsemalla Show Process Tree -painiketta tai painamalla jotain saraketta).

Vasemmalla esimerkki suorittimen kuormituksen mukaisesta lajittelusta, oikealla hierarkkisesta lajittelusta.
Vasemmalla esimerkki suorittimen kuormituksen mukaisesta lajittelusta, oikealla hierarkkisesta lajittelusta.
(klikkaa kuvaa nähdäksesi suuremman version)

Oletuksena Process Explorer näyttää prosesseista nimen, PID:n (prosessin ID-numero), suorittimen käytön, tietoa muistin käytöstä, kuvauksen sekä yrityksen nimen.

Process Explorer näyttää prosesseista nimen, ID:n, suorittimen käytön, tietoa muistin käytöstä, kuvauksen sekä yrityksen nimen.
Process Explorer näyttää prosesseista nimen, PID:n, suorittimen käytön, tietoa muistin käytöstä, kuvauksen sekä yrityksen nimen.

Lisävaihtoehtoja sarakkeiksi on runsaasti, pääikkunalle ja DLL/Handle -ikkunanosalle yli 100 erilaista. Vaihtoehtoihin kannattaa todella tutustua (View / Select Columns). Esimerkiksi Process Memory / Private Bytes kannattaa asettaa näkyviin, sillä jos prosessi kasvattaa jatkuvasti omaan käyttöön varattua muistia, se voi olla merkki muistivuodosta.

Erilaista tietoa näytettäväksi on todella runsaasti.
Erilaista tietoa näytettäväksi on todella runsaasti.

Lista prosesseista päivityy oletuksena sekunnin välein, mutta päivitysnopeutta voi muuttaa 0.5 - 10 sekunnin välitä valitsemalla View / Update Speed / haluttu aika. Voit myös keskeyttää listan päivittämisen hetkeksi painamalla näppäimistöltä välilyönti-näppäintä, ja vastaavasti jatkaa listan päivittämistä painamalla välilyöntipainiketta uudelleen. Kun olet asettanut listan päivittämisen tauolle, voit manuaalisesti päivittää listan painamalla näppäimistöltä F5 -näppäintä.

HUOM! Manuaalinen päivittäminen on näppärä tapa seurata esim. mitä prosesseja aukeaa/sulkeutuu tietyn operaation yhteydessä. Eli aseta listan päivitys taukoon painamalla välilyönti-näppäintä, tee toimesi ja päivitä näyttö F5 -painikkeella.

Keskeytty prosessilistan päivittäminen näkyy Process Explorerin ikkunan alaosan tilapalkissa. Tilapalkissa on myös yhteenvetona tärkeimmät tiedot resursseista.

Tilapalkki kertoo yhteenvetona tietoja resursseista sekä sen jos prosessilistan päivittäminen on keskeytetty.
Tilapalkki kertoo yhteenvetona tietoja resursseista sekä sen jos prosessilistan päivittäminen on keskeytetty.

Tilapalkissa näytettäviä tietoja voi valita valitsemalla tilapalkin päällä hiiren kakkospainikkeella Select Status Bar Columns.

Hiiren kakkospainikkeella avautuvasta valikosta voidaan tuoda esim. ikkuna esille, lopettaa prosesseja, asettaa prioriteetti/affiniteetti, luoda vedostiedostoja, aivan kuten Windowsin omalla tehtävienhallinnalla. Edellisten lisäksi Process Explorer osaa käynnistää prosessin uudelleen, tai keskeyttää prosessi jolloin se on näennäisesti käynnissä mutta kykenemätön tekemään mitään. Process Explorerista on myös näppärää lähteä etsimään tietoa halutusta prosessista, valitsemalla suoraan valikosta Search Online, jolloin Googleen suoritetaan haku ko. prosessin nimellä (aukeaa oletusselaimeen). Jos järjestelmästä löytyy Depency Walker, voidaan se käynnistää Process Explorerin kautta.

Prosesseihin voidaan vaikuttaa hiiren kakkospainikkeen kautta avautuvasta valikosta.
Prosesseihin voidaan vaikuttaa hiiren kakkospainikkeen kautta avautuvasta valikosta.
HUOM! Processin keskeyttäminen (Suspend) voi olla näppärä apu esim. haittaohjelmien kanssa.

Haittaohjelman prosesseja voi olla useita, jotka pitävät huolta toisistaan ettei niitä sammuteta: jos yhden sammuttaa, toinen huolehtii että prosessi käynnistetään uudelleen.

Keskeyttämällä prosessi on edelleen käynnissä, mutta kykenemätön tekemään mitään. Näin pääsee käsiksi mahdollisiin muihin samaa haitakketta oleviin prosesseihin ilman että joku niistä käynnistää aina uudelleen suljetun prosessin.

Pitämällä hiiren osoitinta prosessin päällä Process Explorer näyttää työkaluvihjeessä käynnistyskomennon ja polun tiedostoon, sekä palvelujen isäntäprosessin kohdalla mitä palveluita isäntäprosessi ajaa. Myös mahdollinen itse annettu kommentti näytetään tässä työkaluvihjeessä.

Työkaluvihje näyttää käynnistyskomennon, polun ja mahdollisen kommentin, sekä palvelun isäntäprosessista mitä palveluita se ajaa.
Työkaluvihje näyttää käynnistyskomennon, polun ja mahdollisen kommentin, sekä palvelun isäntäprosessista mitä palveluita se ajaa.
HUOM! Jos olet asettanut jonkun normaalisti työkaluvihjeessä näkyvän tiedon sarakkeena näkyviin, kyseiset tiedot eivät näy työkaluvihjeessä. Esimerkiksi jos olet valinnut käynnistyskomennon näkymään listauksessa omana sarakkeena, käynnistyskomentoa ei näytetä työkaluvihjeessä.

Process Explorer näyttää erityyppiset prosessit eri taustavärillä. Esim. palvelut näytetään vaaleanpunaisella taustavärillä, samalla käyttäjätasolla kuin Process Explorer vaaleansinisellä, pakatut tummalla magentalla jne.

Process Explorer näyttää erityyppiset prosessit erivärisellä pohjalla.
Process Explorer näyttää erityyppiset prosessit erivärisellä pohjalla.

Process Explorerissa näyttää hetken aikaa eri taustavärillä korostettuna uudet (oletuksena vihreä) ja lopetut prosessit (punainen). Tästä on etua kun jostain syystä on jäljitettävä käynnistyviä ja sammuvia prosesseja. Korostuksen keston voi itse valita 0-9 sekunnin väliltä (Options / Difference Highlighting Duration).

Värejä voi itse muuttaa haluamiseen valitsemalla Options / Configure Highlighting.

Process Explorerin korotusvärejä voi muuttaa, kuvassa oletusvärit.
Process Explorerin korotusvärejä voi muuttaa, kuvassa oletusvärit.

Halutessasi voit jakaa Process Explorerin ikkunan kahteen osaan valitsemalla View / Show Lower Pane (tai Show Lower Pane -painike), jolloin Process Explorer näyttää ikkunan alaosassa joko prosessin käyttämät dll:t tai avoimet kahvat. Näkymää voi vaihtaa View / Lower Pane View / haluttu näkymä (tai tilasta riippuen View DLLs tai View Handles -painiketta). Dll-näkymässä voit helposti hakea tietoa ko. dll:stä valitsemalla hiiren kakkospainikkeella Search Online.

Process Explorer osaa näyttää myös prosessiin liittyvät dll:t ja kahvat.
Process Explorer osaa näyttää myös prosessiin liittyvät dll:t ja kahvat.

Process Explorer osaa näyttää myös objektit joilla ei ole nimeä, esim. prosessin omaan käyttöön luomat, valitsemalla View / Show Unnamed Handles and Mappings. Huomaa että Process Explorer kuluttaa tämän valinnan kanssa huomattavasti enemmän suoritinaikaa.

Process Explorerilla voidaan myös etsiä prosessia joko käytetyn dll:n että kahvan mukaan (Find / Find handle or DLL). Tästä on etua esim. silloin kun halutaan tietää vaikkapa että mikä prosessi pitää tiettyä tiedostoa avattuna tms. (esim. kun Poista laite turvallisesti ei poista USB-levyä). Näin saadaa selville prosessi ja se voidaan tarvittaessa lopettaa.

Etsintä paljasti, mitkä prosessit estävät USB-aseman tunnuksella 'H:' poistamisen.
Etsintä paljasti, mitkä prosessit estävät USB-aseman tunnuksella 'H:' poistamisen.

Mo­nen­lais­ta tie­to­a pro­ses­seis­ta

Tuplaklikkaamalla haluttua prosessia prosessilistauksessa (tai valitsemalla hiiren kakkospainikkeella avautuvasta valikosta Properties...), Process Explorer näyttää runsaasti tietoa valitusta prosessista, esim. versiotietoja, onko allekirjoitus varmistettu (voidaan erikseen yrittää varmistaa), komennon jolla prosessi on käynnistetty, milloin prosessi on käynnistetty, isäntäprosessin, DEP/ASLR –tilan jne. Voit myös antaa oman kommentin prosessille (tästä on etua esim. siten, että kommentoimattomista prosesseista tiedät, ettet ole käynyt niitä läpi). Lisäksi voit tarkastella suorituskykytietoja (CPU, muisti, IO, kahvat), prosessin säikeitä, valtuuksia, prosessin käyttämät ympäristömuuttujat (näppärää esim. vianetsinnässä) ja tiedoston/muistissa olevat yli kolme merkkiä pitkät string-tyypiset tiedot (myös näppärää vianetsinnässä/tunnistuksessa). Jos prosessilla on näkyvä ikkuna, voit tuoda sen esiin valitsemalla Bring to Front -painike Image -välilehdeltä.

Process Explorerin korotusvärejä voi muuttaa, kuvassa oletusvärit.
Process Explorerin korotusvärejä voi muuttaa, kuvassa oletusvärit.

Koska prosessi oikeastaan on vain säiliö (ajettavan prosessin ilmentymä), kaikki työ tapahtuu säikeissä (prosessia ei ajeta, säikeitä ajetaan), on hyödyllistä nähdä myös prosessien säikeet. Process Explorer osaa luonnollisesti tämänkin. Process Explorer osaa näyttää säikeistä ID:n, suorittimen kuormituksen, käynnistyksen ajankohdan, prioriteetin. Process Explorer osaa näyttää myös säikeen pinon aloitusosoitteita (kunhan symbolikirjastot on asetettu), josta on hyötyä joskus esim. pääteltäessä säikeen tarkoitusta/lähdettä (aina säikeen aloitusosoite ei kerro sen tehtävästä totuutta). Process Explorer osaa näyttää myös säikeiden pinot.

Process Explorer osaa näyttää säikeistä tietoja. Myös säikeen pinon saa näkyviin.
Process Explorer osaa näyttää säikeistä tietoja. Myös säikeen pinon saa näkyviin.

HUOM! Jos haluat lisää tietoa yksittäisen prosessin säikeistä, tutustu ProcessThreadsViewiin.

Sym­bo­li­en mää­rit­tel­y Process Exploreriin

Jotta edellä mainittujen pinon aloitus- tai paluuosoitteiteet näkyisivät selväkielisinä, tulee symbolit tulee olla määritelty Process Exploreriin. Windowsin mukana tulee Dbghelp.dll mutta se osaa näyttää vain omalle koneelle asennetut symbolit. Kannattaakin asentaa Windows SDK:lta löytyvän Debugging Tools for Windows jonka mukana tule Dbghelp.dll, jolloin voidaan käyttää Microsoftin serverillä olevia symbooleita.

  1. Lataa Windows SDK ja asenna paketista Debugging Tools for Windows -osuus.
  2. Valitse Process Explorerissa Options / Configure Symbols.
  3. Kerro Dbghelp.dll path -kenttään minne Debugging Tools for Windows Dbghelp.dll on asennettu.
  4. Anna Symbol path -kenttään minne serveriltä ladatut symbolit tallennetaan (n. 90 Mt) sekä osoite Microsoftin palvelimelle.
    Tässä ohjeessa symbolit tallentuvat c:\symbols\public -kansioon, joten poluksi tulee srv*c:\symbols\public*http://msdl.microsoft.com/download/symbols ja valitse lopuksi OK -painike.

Tie­to­a jär­jes­tel­män kuor­mi­tuk­ses­ta

Process Explorerin ikkunan yläosassa on useita graafeja, joista selviää eri tyyppistä käyttöhistoriaa (mm. suoritin, grafiikkasuoritin, levy, verkko). Mitä leveämmäksi säädät graafia, sitä pidemmän aikavälin historian Process Explorer näyttää. Liikuttamalla hiirtä graafin päällä näet senhetkisen suurimman kuormittajan ja ajankohdan. Suorittimen graafissa punainen osuus edustaa kernel modessa ja vihreä kernel- ja user modessa yhteensä vietettyä aikaa.

Graafit näyttävät suurimman kuormittajan.
Graafit näyttävät suurimman kuormittajan.
(kuvasta puuttuvat verkon graafi, joka sattui olemaan piilossa, ja versiossa 15 lisätty grafiikkasuorittimen graafi)

Tarkempaa tietoa saat valitsemalla View / System Information (tai System Information -painikkeella), jolloin aukeaa tehtävienhallinnan Suorityskyky -välilehteä vastaava System Information -ikkuna, jonka neljältä eri välilehdeltä saat kattavasti tietoa järjestelmän kuormituksesta.

System Information -ikkuna antaa tarkempaa tietoa järjestelmän kuormituksesta.
System Information -ikkuna antaa tarkempaa tietoa järjestelmän kuormituksesta.
HUOM! Graafit muuttuneet selkeämmiksi versiossa 15 (kts. kuva), tämän ohjeen kuvakaappaukset ovat edellisestä versiosta 14.

Mu­ka­vi­a e­ri­koi­suuk­si­a

Yksi Process Explorerin monista erikoisuuksista on se, että se näyttää tietoa myös laitteisto- ja ohjelmakeskeytyksistä (Windowsin oma Tehtävienhallinta sisällyttää nämä tiedot virheellisesti Järjestelmän vapaaprosessiin). Näiden tiedot on hyvä tarkistaa esim. silloin kun Windows tuntuu hidastelevan, mutta mikään yksittäinen prosessi ei näytä syövän tehoja, jolloin voi olla kyse viallisesta laitteistosta tai laitteistoajureista.

Process Explorer osaa näyttää myös keskeytykset.
Process Explorer osaa näyttää myös keskeytykset.

Yksi Process Explorerin kätevä piirre on se, että se osaa etsiä ikkunaa vastaavan prosessin helposti. Tästä on hyötyä esim. oudon virhedialogin ilmaannuttua, josta ei aina selviä miltä ohjelmalta se on peräisin. Raahaamalla Process Explorerista tähtäimen ko. ikkunan päälle ja vapauttaessa sen, Process Explorer näyttää, mikä prosessi on kyseessä.

Raahaamalla ja vapauttamalla tähtäin ikkunan päällä, Process Explorer valitsee prosessin johon ikkuna kuuluu.
Raahaamalla ja vapauttamalla tähtäin ikkunan päällä, Process Explorer valitsee prosessin johon ikkuna kuuluu.

Hieno ominaisuus on myös valinnainen tapa varmistaa kaikkien prosessien tiedostojen allekirjoitukset automaattisesti (Options / Verify Image Signatures). Tästä on apua esim. haittaohjelmia jäljittäessä, niiden tiedostoista kun puutuu usein allekirjoitus, tai ne käyttävät väärää allekirjoitusta jota ei voida varmistaa. Jos siis allekirjoitusta ei voida varmistaa aidoksi, kyseinen prosessin kannattaa ottaa erityiseen tarkkailuun. Tosin allekirjoittamattomuus ei tarkoita, että kyseessä olisi esim. haittaohjelma, eikä edes väärällä allekirjoituksella oleva (mutta sellainen kyllä kannattaa jo varmistaa huolella, että mistä on kysymys).

Lisäämällä 'Verified Signer' -sarakkeen, näet nopeasti mitkä tiedostot ovat allekirjoitettu ja onko niiden allekirjoitus voitu vahvistaa.
Lisäämällä 'Verified Signer' -sarakkeen, näet nopeasti mitkä tiedostot ovat allekirjoitettu ja onko niiden allekirjoitus voitu vahvistaa.

Vielä pienenä ominaisuutena on minigraafit, jotka saa näkyviin Windowsin ilmoitusalueelle. Näistä näkee yhdellä silmäyksellä suorittimen kuormituksen (oletus), mutta uusimmilla versioilla minigraafeja voi olla useampi, esim. levyn- ja verkonkäyttö. Osoittamalla minigraafia hiirellä, nähdään esim. eniten suoritinta kuormittava prosessi, ja suorittimen kuormitus prosentteina.

Lisäämällä 'Verified Signer' -sarakkeen, näet nopeasti mitkä tiedostot ovat allekirjoitettu ja onko niiden allekirjoitus voitu vahvistaa.
Minigraafista näet nopeasti esim. suorittimen kuormituksen.

Voit halutessasi kopioida valitun prosessin tiedot leikepöydälle yksinkertaisesti valitsemalla näppäimistötä Ctrl+C.

Voit kor­va­ta teh­tä­vi­en­hal­lin­nan

Tarvittaessa Process Explorerilla voidaan korvata Windowsin oma tehtävienhallinta kokonaan, eli että valittaessa esim. Ctrl+Vaihto+Esc aukeaa tehtävienhallinnan sijaan Process Explorer. Ominaisuus on helppo ottaa käyttöön ja poistaa käytöstä valitsemalla Options / Replace Taskmanager.

Voit tarvittaessa helposti korvata Windowsin oman tehtävienhallinnan.
Voit tarvittaessa helposti korvata Windowsin oman tehtävienhallinnan.

Huomaa, että samoin kuin Windowsin tehtävienhallinta, Process Explorer käynnistyy niillä oikeuksilla kuin sinulla on käytössäsi. Eli jos esim. käytät normaalia tiliä (kuten kuuluisikin), myös Process Explorer ajetaan normaalein oikeuksin. Usein kannattaa ottaa korotetut oikeudet käyttöön, ja se onnistuu valitsemalla File / Show Details for All Processes.

Mui­ta työ­ka­lu­ja

Sysinternals on tehnyt koko joukon ilmaisia työkaluja, joista on apua esim. vianetsinnässä. Helpointa on ladata Sysinternals Suite, jossa tulee kaikki tärkeimmät ohjelmat, tässä esitellyn Process Explorerin lisäksi mm. Autoruns, Process Monitor, TCPView, jotka ovat erittäin näppäriä ohjelmia mitä erilaisimmissa tilanteissa. Suosittelen tutustumaan, jos olet kiinnostunut mitä Windowsin konepellin alla tapahtuu, ja olet syystä tai toisesta onnistunut ohittamaan nämä mainiot ohjelmat.

Minulla on tarkoitus kirjoittaa vastaavat esittelyt Process Monitorista ja Autorunsista.