ps

Linux.fista
Versio hetkellä 27. tammikuuta 2021 kello 14.42 – tehnyt LinuxMan (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

ps on komentoriviohjelma koneella ajettavien prosessien listaamiseen.

Käyttö

ps tukee kolmenlaisia valitsimia, BSD-tyylisiä ilman edeltävää viivaa olevia, GNU-tyylisiä lyhyitä (yksi viiva) sekä GNU-tyylisiä pitkiä (kaksi viivaa) valitsimia. Valitsimella on usein eri merkitys riippuen siitä, kuinka monta viivaa valitsimen/valitsinryhmän edessä on.

Perusmuoto

Pelkkä komento

ps

näyttää vain saman käyttäjän omistamat, samassa virtuaalikonsolissa tai terminaaliemulaattorissa ajettavat prosessit. Komennon tuloste voisi näyttää esimerkiksi seuraavalta:

 PID TTY          TIME CMD
9676 pts/4    00:00:00 zsh
9679 pts/4    00:00:00 ps

Ensimmäisessä kentässä näkyy prosessin PID-numerotunnus, toisessa virtuaalikonsolin tai terminaaliemulaattori-istunnon laitetiedosto (ilman /dev/-etuliitettä), kolmannessa prosessin käyttämä todellinen suoritinaika ja neljännessä ohjelman nimi (tässä zsh-komentotulkki ja ps).

Kaikkien prosessien listaaminen

Kaikki järjestelmän prosessit saa listattua valitsimella -e:

ps -e

Valitsimella -e ps näyttää samat tiedot prosesseista kuin käynnistettäessä ilman valitsimia.

Astetta enemmän tietoja järjestelmän kaikista prosesseista saa esimerkiksi valitsinyhdistelmillä -ef ja aux:

ps -ef
ps aux

GNU-tyylinen valitsin -f tarkoittaa laajaa muotoa.

BSD-tyylinen valitsin a tarkoittaa kaikkien käyttäjien prosessien listaamista, x tarkoittaa myös virtuaalikonsoliin tai terminaaliemulaattoriin sitomattomien prosessien listausta ja u tarkoittaa käyttäjäorientoituneen tietovalikoiman näyttämistä.

-ef näyttää sen käyttäjän nimen, jonka oikeuksilla prosessia ajetaan (UID), PID-numeron (PID), äitiprosessin PID:in (PPID), prosessin elinaikaisen suorittimen kuormituksen prosentteina kokonaislukumuodossa (C), käynnistysajan (STIME), virtuaalikonsolin laitetiedoston (TTY) ja ohjelman valitsimineen (CMD). Komennon tulosteen alkupää voisi näyttää esimerkiksi seuraavalta:

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 11:17 ?        00:00:01 init [3]
root         2     0  0 11:17 ?        00:00:00 [kthreadd]
root         3     2  0 11:17 ?        00:00:00 [migration/0]

Hakasulkeet tarkoittavat, ettei tietoa valitsimista ole saatavilla (kyseessä ovat yleensä ytimen prosessit).

axu-valitsinyhdistelmä näyttää sen käyttäjän nimen, jonka oikeuksilla prosessia ajetaan (USER), PID-numeron (PID), prosessin elinikäisen suorittimen kuormituksen prosentteina (%CPU), fyysisen keskusmuistin kulutuksen prosentteina (%MEM), virtuaalimuistin kulutuksen kilotavuina (VSZ), fyysisen keskusmuistin kulutuksen kilotavuina (RSS), virtuaalikonsolin laitetiedoston (TTY), prosessin tilan (STAT, katso ps:n man-sivu), käynnistysajan (STIME), käytetyn todellisen suoritinajan (TIME) ja ohjelman valitsimineen (COMMAND). Esimerkki:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2758  0.0  0.1   1688   576 ?        S    11:18   0:00 /usr/sbin/crond
root      2770  0.0  0.2   2380  1128 tty1     Ss   11:18   0:00 /bin/login --
root      2772  0.0  0.1   1656   500 tty2     Ss+  11:18   0:00 /sbin/agetty -8 38400 vc/2 linux

Tietyn käyttäjän tai ryhmän prosessien listaaminen

Tiettyjen käyttäjien tai ryhmien omistamien prosessien listaamiseen on kaksi vaihtoehtoa, joko valitaan prosessit ne käynnistäneen käyttäjän tai ryhmän perusteella tai sen käyttäjän perusteella, jonka oikeuksilla prosessia ajetaan.

Tähän voidaan käyttää seuraavia valitsimia:

  • -U - listaa prosessin käynnistäneen käyttäjän mukaan
  • -u - listaa sen käyttäjän mukaan, jonka oikeuksilla prosessia ajetaan
  • U - sama kuin -u

Näytetään käyttäjän karoliina käynnistämät prosessit ps:n oletusmuodossa:

ps -U karoliina

Näytetään käyttäjien reima ja ragnhild oikeuksilla ajettavat prosessit samassa laajassa muodossa kuin komennon ps -ef yhteydessä:

ps -fu reima,ragnhild

Näytetään käyttäjän fritjof oikeuksilla ajettavat prosessit samassa muodossa kuin komennon ps axu yhteydessä:

ps uxU fritjof

Tulosteen tietojen mukauttaminen

ps:n tulostetta voidaan mukauttaa vapaasti valitsimilla -o tai o.

Esimerkiksi seuraava näyttäisi käyttäjän ingegerd käynnistämien prosessien PID-numeron, käyttäjän jonka oikeuksilla niitä ajetaan, nice-arvon, prosessin tilan ja ohjelman valitsimineen.

ps -U ingegerd -o pid,euser,ni,stat,cmd

Yleisimpiä valitsimille -o tai o annettavia määreitä:

  • %cpu - prosessin elinaikainen suoritinkuormitus prosentin kymmenesosan tarkkuudella
  • %mem - prosessin kuluttama osuus fyysisestä keskusmuistista prosentin kymmenesosan tarkkuudella
  • args - ohjelman nimi valitsimineen
  • c - prosessin elinaikainen suoritinkuormitus prosentin tarkkuudella
  • cmd - ohjelman nimi valitsimineen
  • comm - ohjelman nimi
  • egid - sen ryhmän GID-numero, jonka oikeuksilla prosessia ajetaan
  • egroup - sen ryhmän nimi, jonka oikeuksilla prosessia ajetaan
  • etime - prosessin käynnistämisestä kulunut aika
  • euid - sen käyttäjän UID-numero, jonka oikeuksilla prosessia ajetaan
  • euser - sen käyttäjän nimi, jonka oikeuksilla prosessia ajetaan
  • ni - prosessin nice-arvo
  • pid - prosessin PID-numero
  • ppid - äitiprosessin PID
  • psr - suoritin, jossa prosessia ajetaan
  • rgid - prosessin käynnistäneen ryhmän GID
  • rgroup - prosessin käynnistäneen ryhmän nimi
  • rss - kulutetun fyysisen keskusmuistin määrä kilotavuina
  • ruid - prosessin käynnistäneen käyttäjän UID
  • ruser - prosessin käynnistäneen käyttäjän nimi
  • s - prosessin tila yhdellä kirjaimella ilmaistuna
  • start - komennon käynnistysaika (myös sekunnit näytetään)
  • start_time - prosessin käynnistysaika minuutin tarkkuudella (jos käynnistetty samana päivänä)
  • stat - prosessin tila monella kirjaimella ilmaistuna
  • time - prosessin elinaikanaan käyttämä suoritinaika
  • tty - virtuaalikonsolin tai terminaaliemulaattorin laitetiedosto
  • vsz - kulutetun virtuaalimuistin määrä kilotavuina

Täydellinen lista löytyy ps:n man-sivulta.

Katso myös