NÉV¶
ps - a processzek állapotát adja meg
ÁTTEKINTÉS¶
ps [
-] [
lujsvmaxScewhrnu] [
txx]
[
O[
+|
-]
k1[[
+|
-]
k2...]]
[
pids]
van még továbbá három hosszú opció:
--sortX[+|-]key[,[+|-]key[,...]]
--help
--version
A többi hosszú opció előkészületben...
LEÍRÁS¶
A
ps program az aktuális processzek pillanatfelvételét
adja. Amennyiben az állapotok ismétlődő
frissítésére van szükség, a
top
használata javasolt.
Ez a kézikönyvlap a
ps program
/proc-alapú
változatát dokumentálja, vagy legalábbis
megpróbálja megtenni.
OPCIÓK¶
A
ps jelen változatának parancssori opciói a
ps,
BSD változata alapján készültek, nem pedig a System V
változat szerint.
A parancssori argumentumoknak
nem ajánlott `-' karakterrel
kezdődniük, mivel a jövőben, ez a Unix98-standard
parancssori argumentumok jelölésére lesz fenntartva, ezért
`-' nélkül kell az aktuális ``kiterjesztett BSD''
stílusú argumentumokat jelölni.
Pillanatnyilag a
ps program figyelmeztetést ad, ha egy `-'-t
használunk rövid opció jelölésére, de
működni fog. Ha olyan shell szkriptjeid vannak, melyek
BSD-stílusú argumentumokat használnak a ps
hívásához, akkor a figyelmeztetések nyomán
célszerű ezeket lecserélni, különben a
közeljövőben ezek a szkriptek használhatatlanná
válhatnak. Amennyiben ki akarod kapcsolni a figyelmeztetéseket, be
kell állítani a
I_WANT_A_BROKEN_PS környezeti
változót.
Van néhány GNU stílusú ``hosszú opció'' is;
lásd lentebb.
- l
- hosszú (long) formátum
- u
- felhasználói (user) formátum: megadja a
felhasználó nevét és a kezdés idejét
- j
- `jobs' formátum: megadja `pgid' és `sid'
értékét is
- s
- `signal' formátum
- v
- `vm' formátum: a virtuális memória
használatáról is tájékoztat
- m
- a memóriáról is ad információt; a
p -vel együtt a használt lapok (page) számát is
megadja.
- f
- ``erdő'' ("forest") a parancssor
családfáját adja meg
- a
- a többi felhasználó processzeit is
kijelzi
- x
- a terminálhoz nem csatlakozó processzeket is
kijelzi
- S
- a gyermek (child) CPU-idejét és a ``page
faults''-okat is megadja
- c
- a parancsnevet a `task_struct'-ból veszi
- e
- a parancssor után a környezetet is megadja
- w
- széles kimenet: nem csonkolja a parancssorokat, hogy
beleférjenek egy sorba. Pontosabban szólva: minden `w' egy
lehetséges plusz sort ad a kijelzéshez, melyet nem
feltétlen használ ki a a `ps'. Legfeljebb 100 db w
használható.
- h
- nem ír ki fejlécet (header)
- r
- csak a futó processzeket listázza
- n
- numerikus kimenet a USER és WCHAN
mezőknek
- txx
- csak a tty xx eszközt ellenőrző
processzeket listázza. xx lehet a "/dev" alatti
eszközfájl neve, vagy a név a tty illetve cu
nélkül. Ez a jelölés fordítottja annak, amit a
ps használ a TT mező kijelzésekor.
Például ps -t1 a "/dev/tty1"-hez tartozó
processzeket listázza. Ezen opció használata esetén
minden, az adott eszközhöz tartozó processz
listázódik, `a' és `x' opcióktól
függetlenül.
- O[+|-]k1[,[+|-]k2[,...]]
- A processzek listáját a k1, k2, ...
rövid kulcsok alapján vett többszintű rendezés
szerint készíti. (Lásd RENDEZÉSI
KULCSOK.) A ps különböző formáihoz
különböző rendezési módok tartoznak, melyek
a felhasználó által felülbírálhatók. A
`+' jel opcionális, csupán az alapértelmezett irányt
definiálja újra egy kulcson, míg a `-' megfordítja a
sorrendet az azt követő kulcsra. Akárcsak t vagy
pids, ez az opció is utolsó kell legyen az egy-parancsos
argumentumban, de az egymást követő argumentumok
specifikációi összefűzésre kerülnek.
- pids
- csak a megadott processzeket listázza. A
processzazonosítókat vesszővel tagolt lista
formájában kell megadni, mely az utolsó opciót
közvetlenül követi. Például: ps j1,4,5.
Egymás utáni argumentumokban megadott listák
összefűzésre kerülnek, pl. ps l 1,2 3,4 5 6
kilistázza az 1-6 processzeket hosszú formában.
Ezen opció használata esetén a megfelelő PID
értékű processzek mindenképp listázásra
kerülnek, függetlenül az `x' és `a'
opcióktól.
HOSSZÚ OPCIÓK¶
Ezen opciók előtt két `-'-jel taláható.
- --sortX[+|-]key[,[+|-]key[,...]]
- Több-betűs kulcs alapján végez
rendezést. (A kulcsokat lásd a RENDEZÉSI KULCSOK
fejezetben.) X helyére tetszőleges elválasztó
karakter írható, a GNU szokások szerint ez lehet a `='-jel.
A `+'-jel opcionális, mert nővekvő szám- vagy ABC
szerinti rendezést jelent. Pl.: ps -jax
--sort=uid,-ppid,+pid
- --help
- Segítő üzenetet ad, amely összegzi a
használatot és a támogatott rövid kulcsok
listáját adja. Ez a lista esetleg frissebb lehet, mint ez a
kézikönyv-lap.
- --version
- Kijelzi a program verzóját és
forrását.
RENDEZÉSI KULCSOK¶
Megjegyezzük, hogy a rendezéshez használt értékek a
ps által használt belső értékek és nem
azok az értékek, melyeket a kimeneti formátummezők
némelyikében látunk.
SHORT LONG DESCRIPTION
- c cmd a végrehajtható program egyszerű
neve
- C cmdline teljes parancssor
- f flags a zászlók (flags), ahogy a hosszú
formájú F mezőkben
- g pgrp processz csoportazonosító (group ID)
- G tpgid a tty-t ellenőrző processz
csoportazonosítója
- j cutime felhalmozódott felhasználói
idő
- J cstime felhalmozódott rendszeridő
- k utime felhasználói idő
- K stime rendszeridő
- m min_flt a kis `page faults'-ok száma
- M maj_flt a nagy `page faults'-ok száma
- n cmin_flt a felhalmozódott kis `page faults'-ok
száma
- N cmaj_flt a felhalmozódott nagy `page faults'-ok
száma
- o session session ID
- p pid processzazonosító (PID)
- P ppid a szülő processz
azonosítója
- r rss a rezidens halmaz mérete
- R resident a rezidens lapok száma
- s size memóriaméret kilobájtokban
- S share a megosztott lapok (shared pages)
mennyisége
- t tty a tty kisebb eszközszáma (minor device
number)
- T start_time a processz indulásának ideje
- U uid a felhasználói azonosító
szám
- u user a felhasználó neve
- v vsize a teljes virtuális memóriahasználat
bájtokban
- y priority a kernel ütemezésének
prioritása
MEZŐLEÍRÁSOK¶
- PRI
- Ez a `task' struktúra számláló
mezője (counter field). Ez a processz által elérhető
időszelet HZ egységekben.
- NI
- A hagyományos Unix `nice' érték; a
pozitív értékek kisebb CPU időt jelentenek.
- SIZE
- Virtuális (image) méret; a szöveg+adat+verem
összmérete.
- RSS
- Rezidens halmazméret; a memóriafoglalás
kilobájtokban.
- WCHAN
- Azon kernelfüggvény neve, ahol a processz alszik,
a `sys_' leválasztásával. Ha /etc/psdatabase
nem létezik, ez csak egy hexadecimális szám.
- STAT
- A processz állapotát adja meg. Az első
mező: R futó (runnable), S alvó (sleeping),
D nem megszakíthatóan alvó (uninterruptible sleep),
T megállított vagy nyomkövetett (stopped vagy
traced) Z zombi (zombie) processzekre. A második mező egy
W -t tartalmaz, ha a processznek nincs rezidens lapja. A harmadik
mező N ha a processznek pozitív `nice' értéke
van. (NI mező).
- TT
- Az ellenőrzött tty jele.
- PAGEIN
- A nagy `page fault'-ok száma. (Azaz azon page
fault-oké, melyek azt eredményezték, hogy egy lapot
lemezről vagy a cache pufferből kellett beolvasni.)
- TRS
- A rezidens méret.
- SWAP
- A swap eszközből foglalt méret
kilobájtokban, illetve lapokban, ha a -p is adott.
- SHARE
- Osztott (shared) memóriahasználat.
FRISSÍTÉS¶
A
ps ezen
proc -alapú változata a
proc
fájlrendszer fájljait olvassa munka közben, melyek a
/proc -ban találhatók. Ezért ezen
ps
-változatnak nem szükséges, hogy a
kmem `suid'-os
legyen, vagy speciális előjogokkal fusson.
Nem célszerű ezen programnak semmilyen különleges
előjogot adni.
Szükség lehet a
/etc/psdatabase frissítésére a
/usr/sbin/psupdate futtatásával, hogy a
WCHAN
mező értelmes információkat tartalmazzon. Ezt minden
új kernelfordításkor célszerű megtenni. Szintén
érdemes lefuttatni a
ps -t egyszer root-ként, majd ezt
megismételni, ha a `/dev'-ben egy tty eszköz megváltozik.
Akárcsak a procps-1.00 esetén, a `ps' és a `top'
közvetlenül olvassa a `System.map'-ot ha lehetséges. A kernel
cím-szimbólum feloldás lehetőségei (address-to-symbol
resolution):
$PS_SYSTEM_MAP
/boot/System.map-`uname -r`
/boot/System.map
/lib/modules/`uname -r`/System.map
/etc/psdatabase
/boot/psdatabase-`uname -r`
/boot/psdatabase,
/lib/modules/`uname -r`/psdatabase
MEGJEGYZÉSEK¶
A
task_struct struktúra
used_math tagja nem kerül
kijelzésre, mivel
crt0.s ellenőrzi, hogy jelen van-e
matematikai koprocesszor. Ez azt jelenti, hogy a `math flag' minden processzre
be lesz állítva, ami pedig haszontalan.
A lemezre swap-pelt programok parancssori argumentumok nélkül jelennek
meg, és hacsak a
c opció nem adott, zárójelbe
kerülnek.
%CPU A "CPU idő/valós idő" arányt mutatja
százalékban. Ez nem fogja elérni a 100%-ot, hacsak nincs
szerencsénk. Ez a felhasznált idő és a program
futásidejének hányadosa.
A
SIZE és
RSS mezők nem számolják a
laptáblákat (page tables) és a
task_struct -ját a
processznek; ez pedig legalább 12 kilobájt memóriát
jelent, amely mindenképp rezidens.
SIZE a processz virtuális
mérete (code+data+stack).
Az eszközszámokat a nevekre való leképezéshez a
ps egy
/etc/psdevtab nevő fájlt tart karban, ami a
"/dev" minden megújításakor frissítődik ha
az engedélyek ezt megengedik. Amennyiben az engedélyek nem engedik a
frissítést, a
ps minden hívása egy
stat(2)
hívást igényel a "/dev" minden fájljára.
Amennyiben a "/dev" tartalma gyakran változik a rendszeren, a
ps -t célszerű gyakran lefuttatni root-ként. Esetleg egy
$HOME alatti fájl is hozzáadható a programhoz, ha nagy lesz a
közvélemény nyomása.
SZERZŐ¶
A
ps -t eredetileg Branko Lankester <lankeste@fwi.uva.nl>
írta. Michael K. Johnson <johnsonm@redhat.com> jelentős
részben újraírta, hogy a `proc' fájlrendszert
használja. Michael Shields <mjshield@nyx.cs.du.edu> a
PID-listák lehetőségét adta a programhoz. Charles Blake
<cblake@bbn.com> a többszintű rendezést, a `dirent-style
library', az eszköznév-szám térkép
adatbázisát, a közelítő bináris keresést a
System.map-ban és sok kódolási illetve dokumentálási
javítást adott a programhoz. David Mossberger-Tang az
általános BSD támogatást írta a psupdate-hez. Michael
K. Johnson <johnsonm@redhat.com> az aktuális karbantartó.
Hibajelentéseket a <procps-bugs@redhat.com> címre
kérjük küldeni.
MAGYAR FORDÍTÁS¶
Horváth András <horvatha@rs1.szif.hu>
A fordító megjegyzése: Az eredeti dokumentum sok nehezen
érthető mondatot, nem definiált rövidítést,
szleng kifejezést tartalmazott. Sok esetben bizonytalan vagyok a
fordításban. Kérem, óvatosan olvassa mindenki ezt a
fordítást, és ha egyes részeket valaki tud
pontosítani, tudassa velem.