.\" This file Copyright 1992, 1997 Michael K. Johnson .\" and 1996 Charles L. Blake .\" It may be distributed under the GNU Public License, version 2, or .\" any higher version. See section COPYING of the GNU Public license .\" for conditions under which this file may be redistributed. .TH PS 1 "3 Sep 1997" "Cohesive Systems" "Linux Programmer's Manual" .SH NÉV ps \- a processzek állapotát adja meg .SH ÁTTEKINTÉS ps [\fB\-\fR] [\fBlujsvmaxScewhrnu\fR] [\fBt\fIxx\fR] \ [\fBO\fR[\fB+\fR|\fB-\fR]\fIk1\fR[[\fB+\fR|\fB-\fR]\fIk2\fR...]] \ [\fIpids\fR] van még továbbá három hosszú opció: .BR \-\-sort\fIX [ + | - ] \fIkey [,[ + | - ] \fIkey [, ... ]] .B "\-\-help" .B "\-\-version" A többi hosszú opció előkészületben... .SH LEÍRÁS A .B 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 .B top használata javasolt. .PP Ez a kézikönyvlap a .B ps program .IR /proc -alapú változatát dokumentálja, vagy legalábbis megpróbálja megtenni. .PP .SH OPCIÓK A .B ps jelen változatának parancssori opciói a .BR ps , BSD változata alapján készültek, nem pedig a System V változat szerint. A parancssori argumentumoknak \fBnem\fP 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 .B 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 .B I_WANT_A_BROKEN_PS környezeti változót. Van néhány GNU stílusú ``hosszú opció'' is; lásd lentebb. .PP .PD 0 .TP 0.5i .B "l " hosszú (long) formátum .TP 0.5i .B "u " felhasználói (user) formátum: megadja a felhasználó nevét és a kezdés idejét .TP 0.5i .B "j " `jobs' formátum: megadja `pgid' és `sid' értékét is .TP 0.5i .B "s" `signal' formátum .TP 0.5i .B "v " `vm' formátum: a virtuális memória használatáról is tájékoztat .TP 0.5i .B "m " a memóriáról is ad információt; a .B p -vel együtt a használt lapok (page) számát is megadja. .TP 0.5i .B "f " ``erdő'' ("forest") a parancssor családfáját adja meg .TP 0.5i .B "a " a többi felhasználó processzeit is kijelzi .TP 0.5i .B "x " a terminálhoz nem csatlakozó processzeket is kijelzi .TP 0.5i .B "S " a gyermek (child) CPU-idejét és a ``page faults''-okat is megadja .TP 0.5i .B "c " a parancsnevet a `task_struct'-ból veszi .TP 0.5i .B "e " a parancssor után a környezetet is megadja .TP 0.5i .B "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 .B w használható. .TP 0.5i .B "h " nem ír ki fejlécet (header) .TP 0.5i .B "r " csak a futó processzeket listázza .TP 0.5i .B "n " numerikus kimenet a .BR USER " és " WCHAN mezőknek .PD 1 .TP 0.5i .BI t xx csak a tty \fIxx\fR eszközt ellenőrző processzeket listázza. \fIxx\fR lehet a "/dev" alatti eszközfájl neve, vagy a név a .IR tty " illetve " cu nélkül. Ez a jelölés fordítottja annak, amit a .B ps használ a \fBTT\fR mező kijelzésekor. Például .B "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. .TP 0.5i .BR O [ + | - ] \fIk1 [,[ + | - ] \fIk2 [, ... ]] A processzek listáját a \fIk1\fR, \fIk2\fR, ... rövid kulcsok alapján vett többszintű rendezés szerint készíti. (Lásd \fBRENDEZÉSI KULCSOK\fR.) A \fBps\fR 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 \fBt\fR vagy \fIpids\fR, 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. .TP 0.5i .I 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: .BR "ps j1,4,5" . Egymás utáni argumentumokban megadott listák összefűzésre kerülnek, pl. .B 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. .SH HOSSZÚ OPCIÓK Ezen opciók előtt két `\-'-jel taláható. .TP 0.5i .BR \-\-sort\fIX [ + | - ] \fIkey [,[ + | - ] \fIkey [, ... ]] Több-betűs kulcs alapján végez rendezést. (A kulcsokat lásd a \fBRENDEZÉSI KULCSOK\fR fejezetben.) \fIX\fR 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.: .B ps -jax --sort=uid,-ppid,+pid .TP 0.5i .B "\-\-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. .TP 0.5i .B "\-\-version" Kijelzi a program verzóját és forrását. .SH RENDEZÉSI KULCSOK Megjegyezzük, hogy a rendezéshez használt értékek a \fBps\fR á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 .PD 0 .TP 0.5i c cmd a végrehajtható program egyszerű neve .TP 0.5i C cmdline teljes parancssor .TP 0.5i f flags a zászlók (flags), ahogy a hosszú formájú F mezőkben .TP 0.5i g pgrp processz csoportazonosító (group ID) .TP 0.5i G tpgid a tty-t ellenőrző processz csoportazonosítója .TP 0.5i j cutime felhalmozódott felhasználói idő .TP 0.5i J cstime felhalmozódott rendszeridő .TP 0.5i k utime felhasználói idő .TP 0.5i K stime rendszeridő .TP 0.5i m min_flt a kis `page faults'-ok száma .TP 0.5i M maj_flt a nagy `page faults'-ok száma .TP 0.5i n cmin_flt a felhalmozódott kis `page faults'-ok száma .TP 0.5i N cmaj_flt a felhalmozódott nagy `page faults'-ok száma .TP 0.5i o session session ID .TP 0.5i p pid processzazonosító (PID) .TP 0.5i P ppid a szülő processz azonosítója .TP 0.5i r rss a rezidens halmaz mérete .TP 0.5i R resident a rezidens lapok száma .TP 0.5i s size memóriaméret kilobájtokban .TP 0.5i S share a megosztott lapok (shared pages) mennyisége .TP 0.5i t tty a tty kisebb eszközszáma (minor device number) .TP 0.5i T start_time a processz indulásának ideje .TP 0.5i U uid a felhasználói azonosító szám .TP 0.5i u user a felhasználó neve .TP 0.5i v vsize a teljes virtuális memóriahasználat bájtokban .TP 0.5i y priority a kernel ütemezésének prioritása .PD 1 .SH MEZŐLEÍRÁSOK .TP 0.5i .B "PRI " Ez a `task' struktúra számláló mezője (counter field). Ez a processz által elérhető időszelet .B HZ egységekben. .TP 0.5i .B "NI " A hagyományos Unix `nice' érték; a pozitív értékek kisebb CPU időt jelentenek. .TP 0.5i .B "SIZE " Virtuális (image) méret; a szöveg+adat+verem összmérete. .TP 0.5i .B "RSS " Rezidens halmazméret; a memóriafoglalás kilobájtokban. .TP 0.5i .B "WCHAN " Azon kernelfüggvény neve, ahol a processz alszik, a .RB ` sys_ ' leválasztásával. Ha .I /etc/psdatabase nem létezik, ez csak egy hexadecimális szám. .TP 0.5i .B "STAT " A processz állapotát adja meg. Az első mező: .B R futó (runnable), .B S alvó (sleeping), .B D nem megszakíthatóan alvó (uninterruptible sleep), .B T megállított vagy nyomkövetett (stopped vagy traced) .B Z zombi (zombie) processzekre. A második mező egy .B W -t tartalmaz, ha a processznek nincs rezidens lapja. A harmadik mező .B N ha a processznek pozitív `nice' értéke van. .RB ( NI mező). .TP 0.5i .B "TT " Az ellenőrzött tty jele. .TP 0.5i .B "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.) .TP 0.5i .B "TRS " A rezidens méret. .TP 0.5i .B "SWAP " A swap eszközből foglalt méret kilobájtokban, illetve lapokban, ha a .B \-p is adott. .TP 0.5i .B "SHARE " Osztott (shared) memóriahasználat. .SH FRISSÍTÉS A .B ps ezen .B proc -alapú változata a .B proc fájlrendszer fájljait olvassa munka közben, melyek a .B /proc -ban találhatók. Ezért ezen .B ps -változatnak nem szükséges, hogy a .B kmem `suid'-os legyen, vagy speciális előjogokkal fusson. .PP .I "Nem célszerű ezen programnak semmilyen különleges előjogot adni." .PP Szükség lehet a .I /etc/psdatabase frissítésére a .I /usr/sbin/psupdate futtatásával, hogy a .B WCHAN mező értelmes információkat tartalmazzon. Ezt minden új kernelfordításkor célszerű megtenni. Szintén érdemes lefuttatni a .B 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): .nf $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 .fi .PP .SH MEGJEGYZÉSEK A .B task_struct struktúra .B used_math tagja nem kerül kijelzésre, mivel .B 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. .PP A lemezre swap-pelt programok parancssori argumentumok nélkül jelennek meg, és hacsak a .B c opció nem adott, zárójelbe kerülnek. .PP .B %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. .PP A .B SIZE és .B RSS mezők nem számolják a laptáblákat (page tables) és a .B task_struct -ját a processznek; ez pedig legalább 12 kilobájt memóriát jelent, amely mindenképp rezidens. .B SIZE a processz virtuális mérete (code+data+stack). .PP Az eszközszámokat a nevekre való leképezéshez a .B ps egy .I /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 .B 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 .B 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. .SH SZERZŐ A .B ps -t eredetileg Branko Lankester írta. Michael K. Johnson jelentős részben újraírta, hogy a `proc' fájlrendszert használja. Michael Shields a PID-listák lehetőségét adta a programhoz. Charles Blake 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 az aktuális karbantartó. Hibajelentéseket a címre kérjük küldeni. .SH MAGYAR FORDÍTÁS Horváth András .PP 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.