PS(1)           Podręcznik programisty linuxowego           PS(1)


NAZWA
       ps - zgłoś status procesu

SKŁADNIA
       ps  [-]  [lujsvmaxScewhrnu]  [txx]  [O[+|-]k1[[+|-]k2...]]
       [pids]

       Są także trzy długie opcje:

       --sortX[+|-]key[,[+|-]key[,...]]

       --help

       --version

       W drodze jest więcej długich opcji...

OPIS
       ps daje opis bieżących procesów. Jeśli  potrzebujesz  pow­
       tarzającego   się   statusu,   użyj   top(1).   Ta  strona
       podręcznika man opisuje wersję ps opartą o /proc, a  przy­
       najmniej próbuje tego dokonać.


OPCJE LINII KOMEND
       Argumenty  linii  komend  mogą być opcjonalnie poprzedzone
       `-', lecz nie ma ku temu potrzeby. Istnieją także  `długie
       opcje' w stylu GNU; zobacz niżej.
       l    długi format
       u    format  użytkownika:  podaje nazwę użytkownika i czas
            startu
       j    format prac: pgid sid
       s    format sygnału
       v    format vm
       m    wyświetla informację o pamięci (połącz z flagą p  aby
            uzyskać ilość stron).
       f    "forest" (las) - format drzewiasty
       a    pokaż także procesy innych użytkowników
       x    pokaż procesy bez kontrolującego terminala
       S    dodaj czas cpu potomka i błędy stron
       c    nazwa komendy z task_struct
       e    pokaż środowisko za linią komend i ` + '
       w    szerokie   wyjście:  nie  skracaj  linii  komend  aby
            mieściły się w jednej linii.   Można  podawać  więcej
            niż jedno w.
       h    bez nagłówka
       r    tylko pracujące procesy
       n    wyjście numeryczne dla USER i WCHAN.

       txx  tylko  procesy  z kontrolującym tty XX; dla xx możesz
            użyć zarówno nazwy urządzenia z  "/dev",  jak  i  tej
            nazwy z dopuszczalnym odłupaniem tty lub cu.  Jest to
            odwrócona heurystyka, której ps używa do wydrukowania
            skróconych nazw tty w polu TT, np.  ps -t1.



Cohesive Systems           27 Jul 1994                          1





PS(1)           Podręcznik programisty linuxowego           PS(1)


       O[+|-]k1[,[+|-]k2[,...]]
            Ułóż  listing  procesów  według wielopoziomowego sor­
            towania podanego przez sekwencję kluczy short z SHORT
            KEYS, k1, k2, ...  Domyślna specyfikacja istnieje dla
            każdego z różnych formatów ps.   Są  one  przeciążane
            przez  uzytkwonika  wskazującego  kolejność. Znak `+'
            jest opcjonalny. `-' odwraca znaczenie tylko  jednego
            klucza  --  tego,  przed którym jest podany. Opcja O,
            podobnie jak t i pids musi być ostatnią  opcją  poje­
            dynczego  argumentu  linii  komend, lecz specyfikacje
            kolejnych argumentów są łączone.

       pids Listuj  tylko  podane  procesy;  są  one   oddzielone
            przecinkami.  Lista  musi  być podana tuż za ostatnią
            opcją w  pojedynczym  argumencie  linii  komend,  bez
            rozdzielających   spacji,  np.   ps  -j1,4,5.   Listy
            podane w kolejnych argumentach są łączone, np.  ps -l
            1,2 3,4 5 6 wylistuje procesy od 1 do 6 w długim for­
            macie. Jeśli podano pidy, to  są  one  listowane  bez
            względu  na  nic. Jeśli podano tty, to bez względu na
            nic są listowane odpowiadające mu  procesy.  Te  dwie
            właściwości przeciążają flagi

DŁUGIE OPCJE LINII KOMEND
       Opcje te są poprzedzane podwójnym myślnikiem.

       --sortX[+|-]key[,[+|-]key[,...]]
            Wybierz  wieloliterowy klucz z sekcji KLUCZE SORTOWA­
            NIA. X może być dowolnym znakiem rozdzielającym.  Aby
            było  w  stylu  GNU,  użyj  `='.  Znak  `+'  jest tak
            naprawdę opcjonalny,  ponieważ  domyślnym  kierunkiem
            jest  zwiększanie numerycznego lub leksykograficznego
            porządku, np: ps -jax --sort=uid,-ppid,+pid

       --help
            Pobież informacje o  użyciu.  Może  to  być  bardziej
            aktualne niż ta strona podręcznika man.

       --version
            Wyświetl wersję i źródło tego programu.

KLUCZE SORTOWANIA
       Zauważ,  że  wartości  używane w sorotwaniu są wartościami
       wewnętrznymi ps i nie sa gotowymi wartościami,  które   są
       używane  w  którymś z pól wyjściowych. Jeśli ktoś chciałby
       zgłosić się do napisania specjalnych funkcji  porównywania
       dla gotowych wartości, ... ;-)

       KRÓTKA   DŁUGA            OPIS
       c       cmd             Sama nazwa programu wykonywalnego
       C       cmdline         Pełna linia komend
       f       flags           Flagi jak w polu F długiego
            listingu




Cohesive Systems           27 Jul 1994                          2





PS(1)           Podręcznik programisty linuxowego           PS(1)


       g       pgrp            Id grupy procesu
       G       tpgid           Id grupy procesu kontrolującego
            tty
       j       cutime          Kumulujący czas użytkownika
       J       cstime          Kumulujący czas systemu
       k       utime           Czas użytkownika
       K       stime           Czas systemu
       m       min_flt         Ilość mniejszych błędów stron
       M       maj_flt         Ilość większych błędów stron
       n       cmin_flt        Kumulujące mniejsze błędy stron
       N       cmaj_flt        Kumulujące większe błędy stron
       o       session         ID sesji
       p       pid             ID procesu
       P       ppid            ID procesu rodzicielskiego
       r       rss             Wartość `resident set size'
       R       resident        Wartość `resident pages'
       s       size            Rozmiar pamięci w kilobajtach
       S       share           Wielkość stron dzielonych
       t       tty             Minorowy numer urządzenia tty
       T       start_time      Czas uruchomienia procesu
       U       uid             Id użytkownika
       u       user            Nazwa użytkownika
       v       vsize           Całkowity rozmiar VM (pamięci) w
            bytes
       y       priority        Priorytet w shedulerze jądra

OPISY PÓL
       PRI  Jest to pole licznika struktury zadania (task).  Jest
            to czas w HZ przypuszczalnego timeslice procesu.

       NI   Standardowa  unixowa  wartość nice; wartości dodatnie
            oznaczają mniej czasu cpu.

       SIZE Rozmiar    wirtualnego    obrazu;    rozmiar     tek­
            stu+danych+stosu.

       RSS  Resident set size; kilobajty programu w pamięci.

       WCHAN
            Nazwa  funkcji  jądra,  gdzie  proces  śpi, od której
            odjęto przedrostek `sys_' Jeśli  /etc/psdatabase  nie
            istnieje, jest to tylko wartość szesnastkowa.

       STAT Informacja o statusie procesu. Pierwsze pole to R dla
            `runnable' (zdolny do pracy), S dla śpiącego  (sleep­
            ing),  D  dla  nieprzerywalnego  snu (uninterruptible
            sleep), T dla zastopowanego, trace'owanego, lub Z dla
            procesu  zombie. Kolejne pole zawiera W w wypadku gdy
            proces nie ma stron  rezydentnych  (resident  pages).
            Trzecie pole przyjmuje wartość N w wypadku gdy proces
            ma dodatnią wartość nice (poleNI ).

       TT   Kontrolujący tty.




Cohesive Systems           27 Jul 1994                          3





PS(1)           Podręcznik programisty linuxowego           PS(1)


       PAGEIN
            Ilość większych błędów  stron  (błędów  stron,  które
            powodują odczytywanie stron z dysku, właczając strony
            odczytywane z buforującego cache).

       TRS  Rozmiar rezydenta tekstu (Text resident size).

       SWAP Kilobajty  (lub  gdy  podano  opcję  -p  strony)   na
            urządzeniu swap.

       SHARE
            Pamięć dzielona.

ODNAWIANIE
       Ta,  oparta  o  proc  wersja ps działa dzięki odczytywaniu
       plików z systemu plików proc, zamontowanego w /proc.   Ten
       ps nie potrzebuje być suidowanym do kmem lub mieć konkret­
       nych przywilejów by działać.  Nie dawaj więc tej wersji ps
       żadnych specjalnych uprawnień.

       Aby  dostać  znaczące  dane  z pola WCHAN, będziesz musiał
       odnowić bazę /etc/psdatabase przez uruchomienie /etc/psup­
       date.  Powinno to być robione za każdym razem gdy kompilu­
       jesz jądro. Powinieneś też raz uruchomić `ps' jako root, a
       potem każdorazowo gdy zmienią się urządzenia tty w "/dev".

       Od wydania procps-1.00, ps/top odczytują  gdy  to  możliwe
       System.map.  Ścieżka przeszukiwania do jądrowego rozdziału
       adres-symbol to:
                   $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


UWAGI
       Członek used_math struktury task_struct nie  jest  pokazy­
       wany,  gdyż  crt0.s  sprawdza  czy jest obecna matematyka.
       Powoduje  to  ustawieie  dla  wszystkich  procesów   flagi
       `math', więc jest bezwartościowe.

       Programy  wyswapowane  na  dysk  będą pokazywane bez argu­
       mentów linii komend, chyba że w nawiasach zostanie  podana
       opcja c.

       %CPU  pokazuje  procent  czasu  procesora. Nie wyjdzie tam
       100%,  chyba  że  masz  szczęście.  Jest  to  użyty   czas
       podzielony przez czas, przez który proces już działa.

       Pola  SIZE  i  RSS  nie  liczą  tabel  stron  i  struktura



Cohesive Systems           27 Jul 1994                          4





PS(1)           Podręcznik programisty linuxowego           PS(1)


       struktury  task_struct  proc;  jest  to  przynajmniej  12K
       pamięci, która zawsze jest rezydentna.  SIZE jest wirtual­
       nym rozmiarem procesu (kod+dane+stos).

       Aby dokonać mapowania numeru urządzenia na nazwę, ps używa
       pliku zwanego "/etc/psdevtab" (odnawianego za każdym razem
       gdy "/dev" staje się  nowsze  i  gdy  prawa  pozwalają  na
       odnowienie).  Jeśli  prawa  nie  pozwalają  na odnowienie,
       kazde wywołanie ps wymaga stat(2) na każdym pliku w  kata­
       logu  "/dev".  Jeśli  "/dev" zmienia się na twoim systemie
       bardzo często, powienieneś równie często  uruchamiać  spod
       roota ps. ;-)

AUTOR
       ps   początkowo   był  napisany  przez  Branko  Lankestera
       (lankeste@fwi.uva.nl), Michael K.  Johnson  (johnsonm@sun­
       site.unc.edu) znacząco go zmodyfikował, aby używał systemu
       plików  proc.  Michael  Shields   (mjshield@nyx.cs.du.edu)
       dodał właściwość pid-listy.  Charles Blake(cblake@bbn.com)
       dodał  wielopoziomowe  sotrowanie,  bibliotekę   w   stylu
       dirent, bazę mapowań nazwy na numer dla urządzeń, szukanie
       bezpośrednio w System.map i sporo usprawnień  estetycznych
       i oczyszczeń w kodzie źródłowym. Jest on obecnym opiekunem
       tego pakietu.

































Cohesive Systems           27 Jul 1994                          5