ps(1)


NÉV

ps - jelentés a processzek jelenlegi állapotáról

HASZNÁLAT

ps [-] [lujsvmaxScewhrnu] [txx] \ [O[+|-]k1[[+|-]k2...]] \ [pids]
van még ezenkívül három hosszú formátumú kapcsoló is:
--sortX [ + | - ] kulcs [,[ + | - ] kulcs [, ... ]]
--help
--version
További hosszú formátumú kapcsolókról még lesz szó a késôbbiekben...

LEÍRÁS

"ps " a processzek pillanatnyi állapotát írja ki. Ha ismétlôdôen ki akarja íratni ezt az állapotot, használja a top kapcsolót. Ez a használati útmutató részletes leírást próbál adni a ps parancs /proc -based verziójáról.
 

A PARANCS KAPCSOLÓI

A parancs kapcsolói elé egy '-' jelet lehet tenni, de nem kötelezô. Van még néhány hosszú formátumú kapcsoló is GNU stílusban; lásd lejjebb.
l
hosszú formátum
u
felhasználói formátum: kiírja a felhasználó nevét és az indítás idejét
j
processz formátum: pgid sid
s
jelzô formátum
v
vm formátum
m
memória informácók megjelenítése (a p módosítóval kombinálva kiírja a lapok számát).
f
"erdô" családfa formátum a parancssorban
a
kiírja a többi felhasználó processzét is
x
kiírja a processzeket a vezérlô terminál nélkül
S
hozzáfûzi a kiíráshoz a gyermek-processz CPU idejét és a laphibákat
c
parancsnév a task_struct -ból
e
kiírja a környezet-változókat a parancssor után és '+'
w
részletes kiírás: nem vágja le a parancssor végét, hogy elférjen egy sorban. Pontosabban: minden w kapcsoló egy újabb lehetséges sort ad a kimenethez. Ha a hely nem szükséges, nem kerül felhasználásra. Legfeljebb 100 darab w kapcsolót lehet használni.
h
nincs fejléc
r
csak a futó processzeket írja ki
n
számformátumú kimenet a USER és WCHAN részére.
t xx
csak azokat a processzeket írja ki, amelyek a tty xx -et vezérlik; Az xx lehet egy eszköz-fájl neve a "/dev" könyvtárban, vagy ez a név a tty ill. cu -val levágva. Ez az a fordított heurisztika, amit a ps arra használ, hogy kiírja a rövidített tty nevet a TT mezôben, pl.: "ps -tl".
O [ + | - ] k1 [,[ + | - ] k2 [, ... ]]
A rövid formátumú kulcsok (a rendezô-kulcsok, k1, k2, ... ) szekvenciájával meghatározott többszintû rendezésnek megfelelôen rendezett processz listázás. Alapértelmezett sorrend a ps parancs különféle formátumainak mindegyikéhez létezik. Ezen sorrendek helyett a felhasználó más sorrendeket írhat elô. A '+' jel opcionális, csupán egy kulcs szerinti, alapértelmezett rendezési irányt határoz meg ismétlôdôen. A '-' jel csak az ôt követô kulcs szerinti rendezés irányát fordítja meg. Akárcsak a t kapcsoló és a pids, az O kapcsolónak is az utolsó helyen kell állnia egy egyedül álló parancs argumentum-sorban, de az egymás után következô argumentumok pontos leírásai összefûzôdnek.
pids
Csak a megadott processzeket írja ki; ezeket vesszôvel elválasztva kell megadni. Egy egyedüli parancs argumentum-sorban a listát közvetlenül az utolsó kapcsoló után kell megadni, közbensô szóközök nélkül, pl.: "ps -j1,4,5" . Az ezt követô argumentumokban megadott listák összefûzôdnek, pl.: ps -l 1,2 3,4 5 6 kiírja az összes processzt 1-6-ig hosszú formátumban. Ha megadjuk a pids-t, akkor függetlenül attól, hogy mik azok, kiírásra kerülnek. Ha a tty-t adjuk meg, a megfelelô processzek kilistázódnak, mindegy mik azok. Ez a két tulajdonság felülbírálja az 'a' és 'x' módosítót.

HOSSZÚ FORMÁTUMÚ PARANCS-KAPCSOLÓK

Ezen kapcsolók elé két kötôjelet kell írni.
--sortX [ + | - ] key [,[ + | - ] key [, ... ]]
Válasszon egy több-betûs kulcsot a RENDEZÉSI KULCSOK részbôl. Az X bármilyen alkalmas elválasztó karakter lehet. Ha GNU stílusúak akarunk lenni, használjuk a '=' jelet. A '+' jel tényleg opcionális, mivel az alapértelmezett irány a szám szerint illetve betû szerint növekvô sorrend. Pl.: ps -jax --sort=uid,-ppid,+pid
--help
Segítséget ad, melyben összefoglalja a parancs használatát, és egy listát ad a használható rendezési kulcsokról. A lista naprakészebb lehet, mint ez a használati útmutató.
--version
Kiírja a program verzióját és eredetét.

RENDEZÉSI KULCSOK

Fontos, hogy a rendezésben használt értékek a ps parancs belsô értékei, nem pedig a kimenet egyes formátum mezôiben használt "kész" értékek. Ha valaki akar, vállalkozhat arra, hogy különleges összehasonlító függvényeket ír a kész értékekre... ;-)
 RÖVID   HOSSZÚ          LEÍRÁS
 c       cmd             a végrehajtható fájl egyszerû neve
 C       cmdline         teljes parancssor
 f       flags           módosítók hosszú formátumú F mezôben
 g       pgrp            processz csoport-azonosító
 G       tpgid           tty vezérlô processz csoport-azonosító
 j       cutime          összes felhasználói idô
 J       cstime          összes rendszer idô
 k       utime           felhasználói idô
 K       stime           rendszer idô
 m       min_flt         kisebb laphibák száma
 M       maj_flt         nagyobb laphibák száma
 n       cmin_flt        kisebb laphibák száma összesen
 N       cmaj_flt        nagyobb laphibák száma összesen
 o       session         session azonosító
 p       pid             processz azonosító
 P       ppid            szülô processz azonosító
 r       rss             rezidens set méret
 R       resident        rezidens lapok
 s       size            memória méret kilóbájtban
 S       share           közös (megosztott) lapok összessége
 t       tty             a tty aleszköz száma
 T       start_time      a processz indítási ideje
 U       uid             felhasználói azonosító szám
 u       user            felhasználói név
 v       vsize           teljes VM méret bájtban
 y       priority        kernel ütemezô prioritása

FIELD DESCRIPTIONS

PRI
This is the counter field in the task struct. It is the time in HZ of the process's possible timeslice.
NI
Standard unix nice value; a positive value means less cpu time.
SIZE
Virtual image size; size of text+data+stack.
RSS
Resident set size; kilobytes of program in memory.
WCHAN
Name of the kernel function where the process is sleeping, with the ` sys_ ' stripped from the function name. If /etc/psdatabase does not exist, it is just a hex number instead.
STAT
Information about the status of the process. The first field is R for runnable, S for sleeping, D for uninterruptible sleep, T for stopped or traced, or Z for a zombie process. The second field contains W if the process has no resident pages. The third field is N if the process has a positive nice value ( NI field).
TT
Controlling tty.
PAGEIN
Number of major page faults (page faults that cause pages to be read from disk, including pages read from the buffer cache).
TRS
Text resident size.
SWAP
Kilobytes (or pages if -p is used) on swap device.
SHARE
Shared memory.

UPDATING

This proc -based ps works by reading the files in the proc filesystem, mounted on /proc . This ps does not need to be suid kmem or have any privileges to run. "Do not give this ps any special permissions."
You will need to update the /etc/psdatabase file by running /etc/psupdate to get meaningful information from the WCHAN field. This should be done every time you compile a new kernel.

NOTES

The member used_math of task_struct is not shown, since crt0.s checks to see if math is present. This causes the math flag to be set for all processes, and so it is worthless.
Programs swapped out to disk will be shown without command line arguments, and unless the c option is given, in parentheses.

%CPU shows the cputime/realtime percentage. It will not add up to 100% unless you are lucky. It is time used divided by the time the process has been running.

The SIZE and RSS fields don't count the page tables and the task_struct of a proc; this is at least 12k of memory that is always resident. SIZE is the virtual size of the proc (code+data+stack).

To perform the device number to name mapping ps maintains a file called "/etc/psdevtab" (updated whenever "/dev" becomes newer and permissions allow update). If permissions do not allow update, every invokation of ps requires a stat(2) of every file in the "/dev" directory. If "/dev" changes often on your system you should run ps as root often. ;-) I may add a fallback file under $HOME under force of popular demand.

AUTHOR

ps was originally written by Branko Lankester (lankeste@fwi.uva.nl) Michael K. Johnson (johnsonm@sunsite.unc.edu) re-wrote it significantly to use the proc filesystem, changing a few things in the process. Michael Shields (mjshield@nyx.cs.du.edu) added the pid-list feature. Charles Blake(cblake@bbn.com) added multi-level sorting, the dirent-style library, the device name-to-number mmaped database, and many code and documentation cleanups and is the current maintainer of the proc-ps suite.

 


Fordította: Németi Dávid

nemetid@ludens.elte.hu


ÿ