Ero sivun ”Ps” versioiden välillä

Siirry navigaatioon Siirry hakuun
6 225 merkkiä lisätty ,  30. marraskuuta 2008
laajennusta
p (Luokka:Prosessienhallinta)
(laajennusta)
Rivi 1: Rivi 1:
Ps on [[Komentorivikomennot|komentoriviohjelma]] koneella pyörivien prosessien tarkkailuun.
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 ==
*[[Pstree]]
*[[Top]]
*[[Top]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Prosessienhallinta]]
[[Luokka:Prosessienhallinta]]
4 316

muokkausta

Navigointivalikko