Cohesive Systems
3 Sep 1997
Aliases: procps(1)
manpages-hu
Hungarian manpages
procps
/proc file system utilities
procps-ng
Utilities for monitoring your system and its processes
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> írta. Michael K. Johnson <johnsonm> jelentõs részben újraírta, hogy a ‘proc’ fájlrendszert használja. Michael Shields <mjshield> a PID-listák lehetõségét adta a programhoz. Charles Blake <cblake> 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> az aktuális karbantartó.
Hibajelentéseket a <procps-bugs> címre kérjük küldeni.
MAGYAR FORDÍTÁS
Horváth András <horvatha>
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.
REFERENCED BY
lsof(1), lsof(8), proc(5), credentials(7), pid_namespaces(7), pthreads(7), fuser(1), killall(1), pstree(1), w(1), free(1), pgrep(1), pmap(1), pwdx(1), slabtop(1), tload(1), top(1), uptime(1), w.procps(1), vmstat(8), pidstat(1), tcpdump(8), tcpdump(1), readproctitle(8), svscanboot(8), in.nnrpd(8), lgroupmod(1), lpasswd(1), luseradd(1), lusermod(1), , ptrace(2), pidof(1), orville-write(1), pg_top(1), procenv(1), runsvdir(8), smem(8), smemcap(8), ptiptop(1), tiptop(1), whowatch(1), wmload(1), x11vnc(1), xdm(1), init(8), rtctl(1), freecolor(1), xdm(8), bosh(1), obosh(1), xdm(1), sched(7)