Ero sivun ”Ps” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (uuteen hienoon luokkaan)
pEi muokkausyhteenvetoa
 
(5 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Ps on [[Komentorivikomennot|komentoriviohjelma]] koneella pyörivien prosessien tarkkailuun.
{{DISPLAYTITLE:ps}}
'''ps''' on [[komentorivi]]ohjelma koneella ajettavien [[prosessi]]en listaamiseen.


== Käyttö ==
== Käyttö ==
Koneella pyörivät prosessit listataan yleensä komennolla
ps tukee kolmenlaisia [[valitsin|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 [[virtuaalikonsoli]]ssa tai [[terminaaliemulaattori]]ssa 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 <tt>-e</tt>:
ps -e
Valitsimella <tt>-e</tt> ps näyttää samat tiedot prosesseista kuin käynnistettäessä ilman valitsimia.
 
Astetta enemmän tietoja järjestelmän kaikista prosesseista saa esimerkiksi valitsinyhdistelmillä <tt>-ef</tt> ja <tt>aux</tt>:
ps -ef
  ps aux
  ps aux
Jolloin tulosteessa ps kertoo prosesseista mm. [[PID]]-numeron, muistinkäytön ja käyttäjän, joka prosessia ajaa.


Yksinkertaisempi lista koneella pyörivistä prosesseista saadaan komennolla
GNU-tyylinen valitsin <tt>-f</tt> tarkoittaa laajaa muotoa.
  ps -e
 
Joka tulostaa prosessin [[PID]]-numeron, virtuaalikonsolin jossa proessi pyörii, prosessin käyttämän CPU-ajan ja prosessin nimen.
BSD-tyylinen valitsin <tt>a</tt> tarkoittaa kaikkien käyttäjien prosessien listaamista, <tt>x</tt> tarkoittaa myös virtuaalikonsoliin tai terminaaliemulaattoriin sitomattomien prosessien listausta ja <tt>u</tt> tarkoittaa käyttäjäorientoituneen tietovalikoiman näyttämistä.
 
'''-ef''' näyttää sen käyttäjän nimen, jonka oikeuksilla prosessia ajetaan (<tt>UID</tt>), PID-numeron (<tt>PID</tt>), äitiprosessin PID:in (<tt>PPID</tt>), prosessin elinaikaisen suorittimen kuormituksen prosentteina kokonaislukumuodossa (<tt>C</tt>), käynnistysajan (<tt>STIME</tt>), virtuaalikonsolin laitetiedoston (<tt>TTY</tt>) ja ohjelman valitsimineen (<tt>CMD</tt>). 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ä [[ydin|ytimen]] prosessit).
 
'''axu'''-valitsinyhdistelmä näyttää sen käyttäjän nimen, jonka oikeuksilla prosessia ajetaan (<tt>USER</tt>), PID-numeron (<tt>PID</tt>), prosessin elinikäisen suorittimen kuormituksen prosentteina (<tt>%CPU</tt>), fyysisen keskusmuistin kulutuksen prosentteina (<tt>%MEM</tt>), [[swap|virtuaalimuistin]] kulutuksen kilotavuina (<tt>VSZ</tt>), fyysisen keskusmuistin kulutuksen kilotavuina (<tt>RSS</tt>), virtuaalikonsolin laitetiedoston (<tt>TTY</tt>), prosessin tilan (<tt>STAT</tt>, katso ps:n [[man]]-sivu), käynnistysajan (<tt>STIME</tt>), käytetyn todellisen suoritinajan (<tt>TIME</tt>) ja ohjelman valitsimineen (<tt>COMMAND</tt>). 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/[[cron]]d
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/a[[getty]] -8 38400 vc/2 linux
 
===Tietyn käyttäjän tai ryhmän prosessien listaaminen===
Tiettyjen [[ryhmä|käyttäjien]] tai [[ryhmä|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:
*<tt>-U</tt> - listaa prosessin käynnistäneen käyttäjän mukaan
*<tt>-u</tt> - listaa sen käyttäjän mukaan, jonka oikeuksilla prosessia ajetaan
*<tt>U</tt> - sama kuin <tt>-u</tt>
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 <tt>ps -ef</tt> yhteydessä:
ps -fu reima,ragnhild
Näytetään käyttäjän fritjof oikeuksilla ajettavat prosessit samassa muodossa kuin komennon <tt>ps axu</tt> yhteydessä:
ps uxU fritjof
 
===Tulosteen tietojen mukauttaminen===
ps:n tulostetta voidaan mukauttaa vapaasti valitsimilla <tt>-o</tt> tai <tt>o</tt>.
 
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''' - [[virtuaalikonsoli]]n tai [[terminaaliemulaattori]]n [[laitetiedosto]]
*'''vsz''' - kulutetun [[swap|virtuaalimuistin]] määrä kilotavuina
Täydellinen lista löytyy ps:n [[man]]-sivulta.


== Katso myös ==
== Katso myös ==
*[[Pgrep]]
*[[Pstree]]
*[[Top]]
*[[Top]]
*[[Kill]]
*[[Killall]]
*[[Pkill]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Prosessienhallinta]]
[[pl:Ps]]

Nykyinen versio 27. tammikuuta 2021 kello 14.42

ps on komentoriviohjelma koneella ajettavien prosessien listaamiseen.

Käyttö[muokkaa]

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[muokkaa]

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[muokkaa]

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[muokkaa]

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[muokkaa]

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[muokkaa]