ps

Autres langues

Langue: pl

Version: 28 lipca 2004 (fedora - 25/11/07)

Section: 1 (Commandes utilisateur)

NAZWA

ps - zgłasza status procesu

SKŁADNIA

ps [opcje]

OPIS

ps wyświetla opis bieżących procesów. Jeśli potrzebujesz powtarzającego się statusu, użyj top(1).

Domyślnie ps wyświetla procesy mające ten sam efektywny identyfikator użytkownika (EUID), co bieżący użytkownik, oraz podłączone do tego samego terminala, do którego podłączona jest osoba uruchamiająca ps. Wyświetlany jest identyfikator procesu (PID), terminal (tty), do którego proces jest podłączony (TTY), łączny czas procesora w formacie [dd-]hh:mm:ss (TIME) oraz nazwa pliku wykonywalnego (CMD). Użycie opcji w stylu BSD zmieni także wybór wyświetlanych procesów, włączając te procesy podłączone do innych terminali (TTY), których jesteś właścicielem; może to zostać opisane jako wybór wszystkich procesów bez tych, których właścicielami są inni użytkownicy, i tych, które nie są podłączone do żadnego terminala. Wyjście domyślnie nie jest posortowane.

Poza przypadkiem opisanym poniżej, opcje wyboru procesów są dołączające. Nie bierze się pod uwagę domyślnego wyboru procesów, lecz procesy wybrane przez użytkownika są dołączane do zbioru procesów do wyświetlenia. Tak więc proces będzie pokazany, jeżeli spełnia którekolwiek z kryteriów wyboru podanych przez użytkownika.

OPCJE LINII KOMEND

Ta wersja programu ps akceptuje kilka rodzajów opcji:
1
Opcje w stylu UNIX, które mogą być grupowane i muszą być poprzedzone myślnikiem.
2
Opcje BSD, które mogą być grupowane i nie mogą być użyte z myślnikiem.
3
Długie opcje GNU, które są poprzedzone dwoma myślnikami.

Różne typy opcji można ze sobą dowolnie mieszać, jednakże mogą pojawić się konflikty. Niektóre opcje są synonimiczne, ich funkcjonalność jest identyczna, z powodu mnogości standardów i implementacji ps, z którymi ta wersja programu ps jest zgodna.

Proszę zauważyć, że "ps -aux" to nie jest to samo, co "ps aux". Standardy POSIX i UNIX wymagają, aby "ps -aux" wypisało wszystkie procesy, które byłyby wybrane przez podanie opcji -a. Jeżeli użytkownik o nazwie "x" nie istnieje, to ps może zinterpretować tę komendę jako "ps aux" i wypisać ostrzeżenie. To zachowanie ma pomóc w przechodzeniu ze starych skryptów i nawyków. Może się to zmienić, nie należy na tym zachowaniu polegać.

PRZYKŁADY

Aby zobaczyć wszystkie procesy w systemie, używając standardowej składni:
ps -e
ps -ef
ps -eF
ps -ely
Aby zobaczyć wszystkie procesy w systemie, używając składni BSD:
ps ax
ps axu
Aby wypisać drzewo procesów:
ps -ejH
ps axjf
Aby wyświetlić informację o wątkach:
ps -eLf
ps axms
Aby wyświetlić informacje związane z bezpieczeństwem:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Aby zobaczyć wszystkie procesy poza tymi działającymi jako root (rzeczywiste i efektywne ID):
ps -U root -u root -N
Aby wyświetlić wszystkie procesy w formacie zdefiniowanym przez użytkownika:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
Wyświetlenie deskryptorów pól AIX:
ps -o %u : %U : %p : %a
Wyświetlenie tylko identyfikatora procesu syslogd:
ps -C syslogd -o pid=
Wyświetlenie tylko nazwy procesu o identyfikatorze 42:
ps -p 42 -o comm=

PROSTY WYBÓR PROCESÓW

-A
Wybór wszystkich procesów. Identyczne z -e.
-N
Wybór wszystkich procesów, poza tymi, które spełniają określone warunki.
T
Wybór wszystkich procesów podpiętych do tego teminala. Identyczny z opcją t bez żadnych argumentów.
-a
Wybór wszystkich procesów poza liderami sesji (zobacz getsid(2)) i procesami nie podłączonymi do żadnego terminala.
a
Uruchamia restrykcję w stylu BSD "tylko własne", która jest nakładana na zbiór wszystkich procesów, jeżeli są używane jakieś opcje w stylu BSD (bez "-") lub gdy osobowość ps jest z rodziny BSD. Wybrany w ten sposób zbiór procesów jest dołączany do zbioru procesów wybranych w inny sposób. Alternatywny opis jest taki, że ta opcja powoduje wylistowanie przez ps wszystkich procesów mających przypisany terminal (tty) lub wylistowanie wszystkich procesów, jeżeli użyta łącznie z opcją x.
-d
Wybór wszystkich procesów poza liderami sesji.
-e
Wybór wszystkich procesów. Identyczne z -A.
g
Naprawdę wszystkie, nawet liderzy sesji. Ta falga jest przestarzała i może zniknąć w przyszłych wersjach programu. Jest włączana przez flagę a i jest użyteczna tylko podczas pracy w osobowości sunos4.
r
Zawęża wybór tylko do uruchomionych procesów.
x
Uruchamia restrykcję w stylu BSD "musi mieć tty", która jest nakładana na zbiór wszystkich procesów, jeżeli są używane jakieś opcje w stylu BSD (bez "-") lub gdy osobowość ps jest z rodziny BSD. Wybrany w ten sposób zbiór procesów jest dołączany do zbioru procesów wybranych w inny sposób. Alternatywny opis jest taki, że ta opcja powoduje wylistowanie wszystkich procesów, których jesteś właścicielem (EUID taki sam jak procesu ps), lub wylistowanie wszystkich procesów, jeśli użyta łącznie z opcją a.
--deselect
Wybór wszystkich procesów poza tymi, które spełniają określone warunki.

WYBÓR PROCESÓW PRZEZ PODANIE LISTY

Te opcje akceptują pojedynczy argument w postaci listy rozdzielonej spacjami bądź przecinkami. Mogą być używane wiele razy. Na przykład: ps -p "1 2" -p 3,4
-C cmdlist
Wybór przez nazwę polecenia.
Wybiera procesy, których nazwa pliku wykonywalnego jest podana w cmdlist.
-G grplist
Wybór przez podanie rzeczywistego identyfikatora grupy (RGID) bądź nazwy.
Wybiera nazwy procesów, których rzeczywista nazwa grupy bądź identyfikator występuje w liście grplist. Rzeczywisty identyfikator grupy określa grupę użytkownika, który utworzył proces, patrz getgid(2).
U userlist
Wybór przez podanie efektywnego identyfikatora użytkownika (EUID) bądź nazwy.
Wybiera procesy, których efektywna nazwa użytkownika lub ID jest w userlist. Efektywne ID użytkownika opisuje użytkownika, którego prawa dostępu do plików są używane przez proces (patrz geteuid(2)). Identyczne z -u--user.
-U userlist
Wybór przez podanie rzeczywistego identyfikatora użytkownika (RUID) bądź nazwy.
Wybiera procesy, których rzeczywista nazwa użytkownika lub ID jest w userlist. Rzeczywiste ID użytkownika opisuje użytkownika, który utworzył proces (patrz getuid(2)).
-g grplist
Wybór przez podanie sesji bądź efektywnej nazwy grupy.
Wiele standardów określa wybór przez podanie sesji, ale wybór przez podanie efektywnej nazwy grupy jest logicznym zachowaniem, używanym przez wiele systemów operacyjnych. Ta wersja programu ps wyszuka po nazwach sesji, jeżeli lista zawiera tylko liczby (którymi są sesje). Numeryczne identyfikatory grup będą działać tylko wtedy, gdy podane zostaną również jakieś nazwy grup. Patrz opcje -s i --group.
p pidlist
Wybór przez podanie identyfikatorów procesów. Identyczne z -p--pid.
-p pidlist
Wybór przez PID.
Wybiera procesy, których identyfikatory pojawiają się w pidlist. Identyczne z p--pid.
-s sesslist
Wybór przez identyfikator sesji.
Wybiera procesy mające identyfikator sesji podany w sesslist.
t ttylist
Wybór przez tty.
Prawie identyczne z -t i --tty, jednak może być także użyte z pustą listą ttylist, aby określić terminal skojarzony z ps. Używanie opcji T jest uważane za lepsze niż podanie opcji t z pustą ttylist.
-t ttylist
Wybór przez tty.
Wybiera procesy podłączone do terminali podanych w liście ttylist. Terminale (tty lub ekrany dla wyjścia tekstowego) mogą być podane na różne sposoby: /dev/ttyS1, ttyS1, S1. Można użyć "-", aby określić procesy nie mające terminala.
-u userlist
Wybór przez podanie efektywnego identyfikatora użytkownika (EUID) bądź nazwy.
Wybiera procesy, których efektywna nazwa użytkownika lub ID jest w userlist. Efektywne ID użytkownika opisuje użytkownika, którego prawa dostępu do plików są używane przez proces (patrz geteuid(2)). Identyczne z U--user.
--Group grplist
Wybór przez podanie rzeczywistego ID grupy (RGID) bądź nazwy. Identyczne z -G.
--User userlist
Wybór przez podanie rzeczywistego ID użytkownika (RUID) bądź nazwy. Identyczne z -U.
--group grplist
Wybór przez podanie efektywnego ID grupy (EGID) bądź nazwy.
Wybiera procesy, których efektywna nazwa grupy lub ID występuje w grouplist. Efektywny identyfikator grupy określa grupę, której prawa dostępu do plików są używane przez proces (patrz geteuid(2)). Opcja -g jest często alternatywą dla --group.
--pid pidlist
Wybór przez ID procesu. Identyczne z -p i p.
--ppid pidlist
Wybór przez podanie ID procesu nadrzędnego.
Wybiera procesy, których ID procesu nadrzędnego występuje w pidlist. To znaczy, że wybiera procesy, których dzieci określono w pidlist.
--sid sesslist
Wybór przez ID sesji. Identyczne z -s.
--tty ttylist
Wybór przez podanie terminala. Identyczne z -tt.
--user userlist
Wybór przez podanie efektywnego ID użytkownika (EUID) bądź nazwy. Identyczne z -uU.
-123
Identyczne z --sid 123.
123
Identyczne z --pid 123.

KONTROLOWANIE FORMATU WYJŚCIA

Poniższe opcje są używane do wyboru informacji wyświetlanych przez ps. Wyjście może zależeć od osobowości.
-F
Format ekstrapełny. Patrz opcja -f, którą -F włącza.
-O format
Jak -o, ale z paroma kolumnami domyślnie predefiniowanymi. Identyczne z -o pid,format,state,tname,time,command lub -o pid,format,tname,time,cmd, patrz -o niżej.
O format
Jest predefiniowanym o (przeładowana).
Opcja BSD O może zachowywać się jak -O (wyjście zdefiniowane przez użytkownika z paroma polami predefiniowanymi) albo może być użyta do określenia porządku sortowania. Heurystyka jest używana do określenia pożądanego zachowania się tej opcji. Aby wprost określić wymagane zachowanie (sortowanie lub formatowanie), należy podać tę opcję w inny sposób (np. jako -O lub --sort). Używana jako opcja formatowania jest identyczna z -O, z osobowością BSD.
-M
Dodaje kolumnę z danymi dotyczącymi bezpieczeństwa (dla SE Linuksa).
X
Format rejestru.
Z
Dodaje kolumnę z danymi dotyczącymi bezpieczeństwa (dla SE Linuksa).
-c
Wyświetla inne informacje schedulera, w połączeniu z opcją -l.
-f
Wyjście w pełnym formacie. Ta opcja może być połączona z wieloma innymi opcjami w stylu UNIX, aby dodać dodatkowe kolumny. Także powoduje wypisywanie argumentów poleceń. Użyta z -L dodaje kolumny NLWP (liczba wątków) i LWP (ID wątku).
j
Format kontroli zadań BSD.
-j
Format zadań.
l
Długi format BSD.
-l
Długi format. Opcja -y jest często przydatna w połączeniu z tą opcją.
o format
Określa format zdefiniowany przez użytkownika. Identyczne z -o i --format.
-o format
Format zdefiniowany przez użytkownika
format jest pojedynczym argumentem w formie listy rozdzielonej spacjami bądź przecinkami, określającej poszczególne kolumny wyjścia. Rozpoznawane słowa kluczowe opisano poniżej, w sekcji STANDARDOWE SPECYFIKATORY FORMATU. Można zmienić nazwę nagłówków (ps -o pid,ruser=RzeczywistyUżytkownik -o comm=Polecenie), jeśli jest to pożądane. Jeśli wszystkie nagłówki kolumn są puste (ps -o pid= -o comm=), linia nagłówka nie jest wyświetlana. Szerokość kolumn jest zwiększana w razie potrzeby dla szerokich nagłówków; może być to użyte do poszerzania kolumn takich jak WCHAN (ps -o pid,wchan=SZEROKA-KOLUMNA-WCHAN -o comm). Oferowana jest także bezpośrednia kontrola szerokości kolumn (ps opid,wchan:42,cmd). Zachowanie polecenia ps -o pid=X,comm=Y zależy od osobowości: wyjściem może być jedna kolumna o nazwie "X,comm=Y" lub dwie kolumny nazwane "X" i "Y". W razie wątpliwości, prosimy użyć wielu opcji -o. W razie potrzeby, w zmiennej środowiskowej PS_FORMAT można podać domyślny format. DefSysV i DefBSD to makra, których można użyć, aby wybrać domyślne kolumny w stylu UNIX-a lub BSD.
s
Format wyświetlania sygnałów
u
Wyświetla format zorientowany na użytkownika
v
Wyświetla format pamięci wirtualnej
-y
Nie pokazuje flag, wyświetla rss zamiast addr. Może być użyta tylko z -l.
--format format
Format zdefiniowany przez użytkownika. Identyczne z -o i o.
--context
Wyświetla format kontekstu bezpieczeństwa (dla SE Linuksa).

MODYFIKATORY WYJŚCIA

-H
Pokazuje hierarchię procesów (las)
N namelist
Określa plik z listą nazw funkcji jądra. Identyczne z -n, patrz poniżej -n.
O order
Porządek sortowania (przeładowna).
Opcja BSD O może zachowywać się jak -O (wyjście zdefiniowane przez użytkownika z paroma polami predefiniowanymi) albo może być użyta do określenia porządku sortowania. Heurystyka jest używana do określenia pożądanego zachowania się tej opcji. Aby wprost określić wymagane zachowanie (sortowanie lub formatowanie), należy podać tę opcję w inny sposób (np. jako -O lub --sort).

Dla sortowania, przestarzała składnia BSD opcje O jest następująca O[+|-]k1[,[+|-]k2[,...]]. Sortuje ona listę procesów zgodnie z wielopoziomowym kluczem określonym przez sekwencję jednoliterowych krótkich kluczy k1, k2, ... opisanych w sekcji PRZESTARZAŁE KLUCZE SORTOWANIA poniżej. "+" jest obecnie opcjonalny, służy jedynie do powtórnej iteracji w domyślnym kierunku po kluczu, jednak może on pomóc rozróżnić O sortujące od O formatującego. "-" odwraca kierunek sortowania tylko w kluczu, przed którym występuje.

S
Sumuje niektóre informacje, jak użycie CPU, od umarłych procesów-dzieci do ich rodziców. Użyteczne przy badaniu systemu, w którym proces-rodzic wielokrotnie uruchamia krótko żyjące dzieci, aby wykonały zadanie.
c
Wyświetla prawdziwą linię poleceń. Jest ona wyciągana raczej z nazwy pliku wykonywalnego, niż z wartości argv, która mogła być zmieniona prze użytkownika. Argumenty poleceń nie są wyświetlane.
e
Wyświetla środowisko za poleceniem.
f
Hierarchia procesów jako ASCII-art (las).
h
Bez nagłówka (lub jeden nagłówek na ekran, jeśli wybrano osobowość BSD).
Opcja h sprawia problemy. Standardowe ps z BSD używa tej opcji do wyświetlenia nagłówka na każdej stronie wyjścia, ale starsze ps z Linuksa używa tej opcji do całkowitego wyłączenia nagłówka. Ta wersja programu ps zachowuje się jak wersja linuksowa i nie wypisuje nagłówka, chyba że wybrano osobowość BSD - w tym przypadku wypisuje nagłówek na każdej stronie wyjścia. Niezależnie od osobowości, można użyć opcji --headers i --no-headers, aby - odpowiednio - włączyć wypisywanie nagłówka na każdej stronie bądź całkowicie wyłączyć wypisywanie nagłówka.
k spec
Określa porządek sortowania. Składnia sortowania jest następująca: [+|-]klucz[,[+|-]klucz[,...]] Proszę wybrać wieloliterowy klucz z sekcji STANDARDOWE SPECYFIKATORY FORMATU. "+" jest opcjonalny, ponieważ domyślnym porządkiem jest rosnący porządek numeryczny lub leksykograficzny. Identyczne z --sort. Przykłady:
ps jaxkuid,-ppid,+pid
ps axk comm o comm,args
ps kstart_time -ef
-n namelist
Ustawia plik z listą nazw funkcji jądra. Identyczne z N.
Plik z listą nazw jest potrzebny do poprawnego wyświetlania kolumny WCHAN i dla poprawnego wyjścia musi dokładnie odpowiadać obecnej wersji jądra. Bez tej opcji, domyślna ścieżka poszukiwań pliku z listą nazw jest następująca:

        $PS_SYSMAP

       $PS_SYSTEM_MAP

       /proc/*/wchan

       /boot/System.map-`uname -r`

       /boot/System.map

       /lib/modules/`uname -r`/System.map

       /usr/src/linux/System.map

       /System.map

n
Wyjście liczbowe dla kolumn WCHAN i USER (włączając wszystkie typu UID i GID).
-w
Szerokie wyjście. Proszę użyć dwa razy, aby uzyskać nielimitowaną szerokość wyjścia.
w
Szerokie wyjście. Proszę użyć dwa razy, aby uzyskać nielimitowaną szerokość wyjścia.
--cols n
Ustawia szerokość ekranu
--columns n
Ustawia szerokość ekranu
--cumulative
Dołącza kilka danych zmarłych procesów-dzieci (jako sumę z rodzicem)
--forest
Drzewo procesów jako ASCII-art
--headers
Powtarza linie nagłówka, po jednej na stronę wyjścia
--no-headers
Nie wyświetla żadnej linii nagłówka
--lines n
Ustawia wysokość ekranu
--rows n
Ustawia wysokość ekranu
--sort spec
Określa porządek sortowania. Składania sortowania jest następująca: [+|-]klucz[,[+|-]klucz[,...]] Proszę podać wieloliterowy klucz z sekcji STANDARDOWE SPECYFIKATORY FORMATU. "+" jest opcjonalny, ponieważ domyślne sortowanie odbywa się w rosnącym porządku numerycznym lub leksykograficznym. Identyczny z k. Przykład: ps jax --sort=uid,-ppid,+pid
--width n
Ustawia szerokość ekranu

WYŚWIETLANIE WĄTKÓW

H
Wyświetla wątki tak, jakby były procesami
-L
Wyświetla wątki, być może z kolumnami LWP i NLWP
-T
Wyświetla wątki, być może z kolumną SPID
m
Wyświetla wątki za procesami
-m
Wyświetla wątki za procesami

INNE INFORMACJE

L
Wyświetla listę wszystkich specyfikatorów formatu.
-V
Wyświetla wersję procps.
V
Wyświetla wersję procps.
--help
Wyświetla komunikat pomocy.
--info
Wyświetla informacje przydatne przy debugowaniu.
--version
Wyświetla wersję procps.

UWAGI

Ta wersja ps używa do działania wirtualnych plików w katalogu /proc. To ps nie musi być setuidowane kmem ani mieć innych przywilejów, aby działać. Nie dawaj tej wersji ps żadnych specjalnych uprawnień.

Aby poprawnie wyświetlić kolumnę WCHAN, ta wersja ps musi mieć dostęp do danych listy nazw. Dla wersji jądra niższych niż 2.6, plik System.map musi być zainstalowany.

Użycie CPU jest obecnie wyrażone jako procent czasu spędzonego na wykonywaniu procesu podczas całego czasu życia procesu. Nie jest to idealne i nie jest zgodne ze standardami, z którymi ps jest - poza tym przypadkiem - zgodne. Jest mało prawdopodobne, aby użycie CPU dodało się dokładnie do 100%.

Programy wyswapowane na dysk będą pokazane bez argumentów linii poleceń, chyba że podano w nawiasach opcję c.

Pola SIZE i RSS nie liczą pewnych części procesu, włączając to tablice stron, stos jądra, struktury thread_info i task_struct. Jest to zazwyczaj 20 KiB pamięci, która jest zawsze wykorzystywana. SIZE oznacza wirtualny rozmiar procesu (kod+dane+stos).

Procesy oznaczone jako <defunct> są procesami zmarłymi (tak zwane "zombi"), które pozostały, ponieważ ich rodzic nie zniszczył ich odpowiednio. Te procesy będą zniszczone przez init(8), gdy ich rodzic zakończy działanie.

FLAGI PROCESU

Suma poniższych wartości jest wyświetlana w kolumnie "F", dostarczanej przez specyfikator wyjścia flags.
1
sforkowany, ale nie wykonał exec.
4
używał uprawnień superużytkownika.

KODY STANU PROCESU

Poniżej są różne wartości, które specyfikatory wyjścia s, stat i state (nagłówek "STAT" lub "S") wyświetlą, aby opisać stan procesu:
D
Nieprzerywalnie uśpiony (zazwyczaj wejście/wyjście)
R
Wykonywany lub możliwy do wykonania (w kolejce do wykonania)
S
Przerywalnie uśpiony (czekający na zakończenie zdarzenia)
T
Zatrzymany, albo przez sygnał kontroli zadań, albo z powodu śledzenia.
W
Stronicowany (niepoprawne od wersji jądra 2.6.xx)
X
Zmarły (nigdy nie powinno wystąpić)
Z
Proces niefunkcjonujący ("zombie"), zakończony, ale nie usunięty przez rodzica

Dla formatów BSD, jeżeli użyto słowa kluczowego stat, mogą zostać wyświetlone dodatkowe znaki:

<
o wysokim priorytecie (niemiły dla innych użytkowników)
N
o niskim priorytecie (miły dla innych użytkowników)
L
mający zablokowane strony w pamięci (dla czasu rzeczywistego lub IO)
s
będący liderem sesji
l
wielowątkowy (używając CLONE_THREAD, jak to robi NPTL pthreads)
+
będący w pierwszoplanowej grupie procesów

PRZESTARZAŁE KLUCZE SORTOWANIA

Te klucze są używane przez opcję O BSD (sortowanie). Opcja GNU --sort nie używa tych kluczy, lecz specyfikatorów opisanych poniżej w sekcji STANDARDOWE SPECYFIKATORY FORMATOWANIA. Proszę zauważyć, że wartości używane do sortowania są wewnętrznymi wartościami programu ps, a nie gotowymi wartościami używanymi w którymś z wyjściowych pól formatu (tj. sortowanie po tty posortuje po numerze urządzenia, a nie zgodnie z wyświetlaną nazwą terminala). Proszę przepuścić wyjście ps przez polecenie sort(1), aby posortować po gotowych wartościach.
KLUCZ DŁUGI OPIS
c cmd Sama nazwa programu wykonywalnego
C pcpu Wykorzystanie procesora
f flags Flagi jak w polu F długiego listingu
g pgrp Id grupy procesu
G tpgid Id grupy procesu kontrolującego tty
j cutime Łączny czas użytkownika
J cstime Łączny czas systemu
k utime Czas użytkownika
m min_flt Liczba mniejszych błędów stron
M maj_flt Liczba większych błędów stron
n cmin_flt Łączne mniejsze błędy stron
N cmaj_flt Łączne 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 schedulerze jądra

SPECYFIKATORY FORMATU AIX

Ta wersja ps wspiera specyfikatory formatu AIX, które działają trochę jak kody formatujące printf(3). Na przykład, normalne domyślne wyjście można uzyskać za pomocą: ps -eo "%p %y %x %c". ZWYKŁE kody opisano w następnej sekcji.
KOD ZWYKŁY NAGŁÓWEK
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U user USER
%a args COMMAND
%c comm COMMAND
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ

STANDARDOWE SPECYFIKATORY FORMATU

Sekcja ta zawiera słowa kluczowe, które mogą być użyte do kontrolowania formatu wyjścia (np. z opcją -o) albo do sortowania wybranych procesów z opcją GNU --sort.

Przykład: ps -eo pid,user,args --sort user

Ta wersja ps próbuje rozpoznawać większość słów kluczowych używanych w innych implementacjach ps.

Następujące definiowane przez użytkownika specyfikatory formatu mogą zawierać spacje: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.

Niektóre słowa kluczowe mogą nie być dostępne przy sortowaniu.

KOD  NAGŁÓWEK  OPIS
   
%cpu  %CPU  Użycie procesora dla procesu w formacie "##.#". Jest to użyty czas CPU podzielony przez czas, w którym proces był wykonywany (współczynnik cputime/realtime), wyrażony w procentach. Nie sumuje się do 100%, chyba że masz szczęście (alias pcpu).
   
%mem  %MEM  Stosunek współczynnika `resident set size' procesu do fizycznej pamięci maszyny, wyrażony w procentach (alias pmem).
   
args  COMMAND  Polecenie ze wszystkimi jego argumentami. Może być pocięte, jeśli jest to pożądane. Nie są pokazywane modyfikacje argumentów. Wyjście w tej kolumnie może zawierać spacje (aliasy cmdcommand).
   
blocked  BLOCKED  Maska zablokowanych sygnałów, patrz signal(7). Zgodnie z szerokością pola, wyświetlana jest jako 32- lub 64-bitowa maska w formacie liczby szesnastkowej (aliasy sig_blocksigmask).
   
bsdstart  START  Czas od uruchomienia polecenia. Jeśli proces został uruchomiony mniej niż 24 godziny temu, formatem wyjścia jest " HH:MM", w przeciwnym wypadku jest to "mmm dd" (gdzie mmm oznacza trzyliterowy skrót nazwy miesiąca).
   
bsdtime  TIME  Połączony czas procesora, użytkownika + systemu. Formatem wyświetlania jest zazwyczaj "MMM:SS", jednak może być przesunięty w prawo, jeśli proces użył więcej niż 999 minut czasu procesora.
   
Wartość liczbowa procentu użycia procesowa (patrz %cpu).
   
caught  CAUGHT  Maska przechwytywanych sygnałów, patrz signal(7). Wyświetlana jest 32- lub 64-bitowa maska w notacji szesnastkowej, w zależności od szerokości pola (aliasy sig_catchsigcatch).
   
class  CLS  Klasa schedulera procesu (aliasy policycls). Możliwe wartości pola:
-      nieraportowany

TS     SCHED_OTHER

FF     SCHED_FIFO

RR     SCHED_RR

?      wartość nieznana

   
cls  CLS  Klasa schedulera procesu (aliasy policyclass). Możliwe wartości pola:
-      nieraportowany

TS     SCHED_OTHER

FF     SCHED_FIFO

RR     SCHED_RR

?      wartość nieznana

   
cmd  CMD  Patrz args (aliasy argscommand).
   
comm  COMMAND  Nazwa polecenia (tylko nazwa pliku wykonywalnego). Wyjście tej kolumny może zawierać spacje (aliasy ucmducomm).
   
command  COMMAND  Patrz args (aliasy argscmd).
   
cp  CP  Użycie CPU na mill (patrz %cpu).
   
cputime  TIME  Łączny czas CPU w formacie "[dd-]hh:mm:ss" (alias time).
   
egid  EGID  Efektywny identyfikator grupy procesy jako liczba dziesiętna (alias gid).
   
egroup  EGROUP  Efektywny identyfikator grupy procesu. Będzie to albo nazwa grupy, jeżeli jest znana i pole jest wystarczająco szerokie, albo liczba dziesiętna - w przeciwnym wypadku (alias group).
   
eip  EIP  Wskaźnik do instrukcji.
   
esp  ESP  Wskaźnik do stosu.
   
etime  ELAPSED  Wartość czasu, jaki minął od uruchomienia procesu w formacie [[dd-]hh:]mm:ss.
   
euid  EUID  Efektywny identyfikator użytkownika (alias uid).
   
euser  EUSER  Efektywna nazwa użytkownika. Będzie to teksowe ID użytkownika, jeśli jest znane, a pole jest wystarczająco szerokie, lub liczba dziesiętna w przeciwnym wypadku. Opcja n może zostać użyta, aby wymusić reprezentację jako liczba dziesiętna (aliasy unameuser).
   
Flagi skojarzone z procesem, patrz sekcja FLAGI PROCESU. (aliasy flagflags).
   
fgid  FGID  ID grupy dostępu do systemu plików (alias fsgid).
   
fgroup  FGROUP  ID grupy dostępu do systemu plików. Będzie to identyfikator tekstowy, jeśli jest znany, a pole ma wystarczającą szerokość, lub liczba dziesiętna w przeciwnym wypadku (alias fsgroup).
   
flag  Patrz f (aliasy fflags).
   
flags  Patrz f (aliasy fflag).
   
fname  COMMAND  Pierwszych 8 bajtów nazwy pliku wykonywalnego procesu. Wyjście w tej kolumnie może zawierać spacje.
   
fuid  FUID  ID użytkownika dostępu do systemu plików. (alias fsuid).
   
fuser  FUSER  ID użytkownika dostępu do systemu plików. Będzie to nazwa użytkownika, jeżeli jest dostępna, a szerokość pola jest wystarczająca, lub liczba dziesiętna w przeciwnym wypadku.
   
gid  GID  Patrz egid (alias egid).
   
group  GROUP  Patrz egroup (alias egroup).
   
ignored  IGNORED  Maska ignorowanych sygnałów, patrz signal(7). Wyświetlana jest wartość 32- lub 64-bitowa jako liczba szesnastkowa, w zależności od szerokości pola (aliasy sig_ignore, sigignore).
   
label  LABEL  Etykieta bezpieczeństwa, najczęściej używana w danych kontekstowych SE Linuksa. Jest to potrzebne dla Mandatory Access Control ("MAC"), występującego na systemach o wysokim bezpieczeństwie.
   
lstart  STARTED  Czas, kiedy proces został uruchomiony.
   
lwp  LWP  Identyfikator LWP (light weight process) raportowanego lwp (aliasy spidtid).
   
ni  NI  Wartość nice procesu. Zakres od 19 (najmilszy) to -20 (niemiły dla innych), patrz nice(1) (alias nice).
   
nice  NI  Patrz ni (alias ni).
   
nlwp  NLWP  Liczba LWP-ów (wątków) procesu (alias thcount).
   
nwchan  WCHAN  Adres funkcji jądra, w której proces został uśpiony (użyj wchan, aby dostać nazwę funkcji jądra). Zadania obecnie uruchomione będą miały w tej kolumnie wyświetlony myślnik ('-').
   
pcpu  %CPU  Patrz %cpu (alias %cpu).
   
pending  PENDING  Maska oczekujących sygnałów. Patrz signal(7). Sygnały oczekujące dla procesu są inne niż oczekujące dla poszczególnych wątków. Aby zobaczyć oba powyższe rodzaje, proszę użyć opcji m lub -m. Wyświetlana jest 32- lub 64-bitowa maska w formacie szesnastkowym, w zależności od szerokości pola (alias sig).
   
pgid  PGID  ID grupy procesów lub - równoważnie - ID procesu będącego przywódcą grupy procesów (alias pgrp).
   
pgrp  PGRP  Patrz pgid (alias pgid).
   
pid  PID  Identyfikator procesu
   
pmem  %MEM  Patrz %mem (alias %mem).
   
policy  POL  Klasa schedulera procesu (aliasy classcls). Możliwe wartości pola:
-      nieraportowany

TS     SCHED_OTHER

FF     SCHED_FIFO

RR     SCHED_RR

?      wartość nieznana

   
ppid  PPID  Identyfikator procesu-rodzica.
   
psr  PSR  Procesor, do którego proces jest obecnie przypisany.
   
rgid  RGID  Rzeczywisty identyfikator grupy.
   
rgroup  RGROUP  Rzeczywista nazwa grupy. Będzie do nazwa grupy, jeżeli jest dostępna, a szerokość pola jest wystarczająca, lub liczba dziesiętna w przeciwnym wypadku.
   
rss  RSS  Resident set size, czyli niewyswapowana pamięć, której zadanie używało (w kilobajtach) (aliasy rssizersz).
   
rssize  RSS  Patrz rss (aliasy rssrsz).
   
rsz  RSZ  Patrz rss (aliasy rssrssize).
   
rtprio  RTPRIO  Priorytet czasu rzeczywistego.
   
ruid  RUID  Rzeczywisty identyfikator użytkownika.
   
ruser  RUSER  Rzeczywisty identyfikator użytkownika. Będzie to nazwa użytkownika, jeśli jest dostępna i szerokość pola jest wystarczająca, lub liczba dziesiętna w przeciwnym wypadku.
   
Minimalnie wyświetlony stan (jeden znak) Patrz sekcja KODY STANU PROCESU, aby zobaczyć możliwe wartości. Patrz również stat, aby wyświetlić dodatkowe informacje (alias state).
   
sched  SCH  Polistyka uruchamiania procesu. Polityki sched_other, sched_fifo, i sched_rr są odpowiednio wyświetlane jako 0, 1 i 2.
   
sess  SESS  ID sesji bądź - równoważnie - ID procesu przywódcy sesji (aliasy sessionsid).
   
sgi_p  Procesor, na którym proces się obecnie wykonuje. Jeżeli proces nie jest obecnie wykonywany, to wyświetlana jest "*".
   
sgid  SGID  Zachowany identyfikator grupy (alias svgid).
   
sgroup  SGROUP  Zachowana nazwa grupy. Będzie to nazwa grupy, jeżeli jest dostępna i pole jest wystarczająco szerokie, i lub liczba dziesiętna w przeciwnym wypadku
   
sid  SID  Patrz sess (aliasy sesssession).
   
sig  PENDING  Patrz pending (aliasy pendingsig_pend).
   
sigcatch  CAUGHT  Patrz caught (aliasy caughtsig_catch).
   
sigignore  IGNORED  Patrz ignored (aliasy ignoredsig_ignore).
   
sigmask  BLOCKED  Patrz blocked (aliasy blockedsig_block).
   
size  SZ  Szacowana ilość przestrzeni swap, która byłaby wymagana, gdyby proces miał opróżnić wszystkie swoje zapisywalne strony, a potem zostać wyswapowany. Liczba ta jest bardzo niedokładna!
   
spid  SPID  Patrz lwp (aliasy lwptid).
   
stackp  STACKP  Adres początku stosu procesu.
   
start  STARTED  Czas uruchomienia procesu. Jeśli proces został uruchomiony wcześniej niż 24 godziny temu, to wyjście jest w formacie "HH:MM:SS", a w przeciwnym wypadku - w formacie "  mmm dd" (gdzie mm oznacza trzyliterowy skrót nazwy miesiąca).
   
start_time  START  Czas lub data uruchomienia procesu. Jeżeli proces nie został uruchomiony w tym samym roku, w którym uruchomiono ps, to wyświetlony zostanie tylko rok, jeżeli nie został uruchomiony tego samego dnia, to wyświetlone będzie "mmmdd", w przeciwnym wypadku - "HH:MM".
   
stat  STAT  Wieloliterowy stan procesu. Patrz sekcja KODY STANU PROCESU, aby uzyskać informacje o znaczeniu poszczególnych wartości. Patrz także s i state, aby wyświetlić tylko pierwszy znak stanu procesu.
   
state  Patrz s (alias s).
   
suid  SUID  Zachowany identyfikator użytkownika. (alias svuid).
   
suser  SUSER  Zachowana nazwa użytkownika. Będzie to nazwa użytkownika, jeżeli jest dostępna i pole ma wystarczającą szerokość, albo liczba dziesiętna w przeciwnym wypadku. (alias svuser).
   
svgid  SVGID  Patrz sgid (alias sgid).
   
svuid  SVUID  Patrz suid (alias suid).
   
sz  SZ  Rozmiar w fizycznych stronach obrazu pamięci procesu, włączając w to tekst, dane i przestrzeń stosu
   
thcount  THCNT  Patrz nlwp (alias nlwp). Liczba wątków jądra, których proces jest właścicielem.
   
tid  TID  Patrz lwp (alias lwp).
   
time  TIME  Łączny czas CPU w formacie "[dd-]hh:mm:ss" (alias cputime).
   
tname  TTY  Kontrolujący tty (terminal) (aliasy tttty).
   
tpgid  TPGID  ID pierwszoplanowej grupy procesów na tty (terminalu), do którego proces jest podłączony lub -1, gdy proces nie jest podłączony do terminala.
   
tt  TT  Kontrolujący tty (terminal) (aliasy tnametty).
   
tty  TT  Kontrolujący tty (terminal) (aliasy tnamett).
   
ucmd  CMD  Patrz comm (aliasy commucomm).
   
ucomm  COMMAND  Patrz comm (aliasy commucmd).
   
uid  UID  Patrz euid (aliasy euid).
   
uname  USER  Patrz euser (aliasy euseruser).
   
user  USER  Patrz euser (aliasy euseruname).
   
vsize  VSZ  Użycie wirtualnej pamięci dla całego procesu. vm_lib + vm_exe + vm_data + vm_stack
   
vsz  VSZ  Patrz vsize (aliasy vsize).
   
wchan  WCHAN  Nazwa funkcji jądra, w której proces jest uśpiony, lub "-" jeśli proces jest wykonywany, lub "*", jeśli proces jest wielowątkowy, a ps nie wyświetla wątków.

ZMIENNE ŚRODOWISKA

Następujące zmienne środowiska mogą mieć wpływ na ps:
COLUMNS
Nadpisuje domyślną szerokość wyjścia.
LINES
Nadpisuje domyślną wysokość wyjścia.
PS_PERSONALITY
Jedno z posix, old, linux, bsd, sun, digital... (patrz poniżej sekcja OSOBOWOŚĆ).
CMD_ENV
Jedno z posix, old, linux, bsd, sun, digital... (patrz poniżej sekcja OSOBOWOŚĆ).
I_WANT_A_BROKEN_PS
Wymusza przestarzałą interpretację linii poleceń.
LC_TIME
Format daty.
PS_COLORS
Obecnie nieobsługiwana.
PS_FORMAT
Nadpisuje domyślny format wyjścia.
PS_SYSMAP
Domyślna lokalizacja pliku nazw (System.map).
PS_SYSTEM_MAP
Domyślna lokalizacja pliku nazw (System.map).
POSIXLY_CORRECT
Nie ignoruje złych opcji.
POSIX2
Ustawione na "on", działa tak, jak POSIXLY_CORRECT.
UNIX95
Nie ignoruje złych opcji.
_XPG
Wyłącza niestandardowe zachowanie CMD_ENV=irix.

Ogólnie, ustawianie tych zmiennych jest złym pomysłem. Jedynym wyjątkiem jest CMD_ENV lub PS_PERSONALITY, które mogą być ustawione na Linux dla normalnych systemów. Bez tego ustawienia, ps jest zgodny z nieużytecznymi i złymi częściami standardu Unix98.

OSOBOWOŚĆ

390 jak ps z S/390 OpenEdition
aix jak ps z AIX
bsd jak ps z FreeBSD (zupełnie niestandardowy)
compaq jak ps z Digital Unix
debian jak ps ze starego Debiana
digital jak ps z Tru64 (wcześniej Digital Unix, wcześniej OSF/1)
gnu jak ps ze starego Debiana
hp jak ps z HP-UX
hpux jak ps z HP-UX
irix jak ps z Irix
linux ***** ZALECANY *****
old jak ps z oryginalnego Linuksa (zupełnie niestandardowy)
os390 jak ps z OS/390 Open Edition
posix standardowy
s390 jak ps z OS/390 Open Edition
sco jak ps z SCO
sgi jak ps z Irix
solaris2 jak ps z Solaris 2+ (SunOS 5)
sunos4 jak ps z SunOS 4 (Solaris 1) (zupełnie niestandardowy)
svr4 standardowy
sysv standardowy
tru64 jak ps z Tru64 (wcześniej Digital Unix, wcześniej OSF/1)
unix standardowy
unix95 standardowy
unix98 standardowy

ZOBACZ TAKŻE

top(1), pgrep(1), pstree(1), proc(5).

STANDARDY

Ta wersja programu ps jest zgodna z:
1
Wersją drugą Single Unix Specification
2
The Open Group Technical Standard Base Specifications, Issue 6
3
IEEE Std 1003.1, 2004 Edition
4
X/Open System Interfaces Extension [UP XSI]
5
ISO/IEC 9945:2003

AUTOR

ps początkowo był napisany przez Branka Lankestera <lankeste@fwi.uva.nl>. Michael K. Johnson <johnsonm@redhat.com>) 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 sortowanie, 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 i dokumentacji. David Mossberger-Tang napisał wsparcie BFD dla psupdate. Albert Cahalan <albert@users.sf.net> przepisał ps dla pełnego wsparcia Unix98 i BSD support, wraz z samymi brzydkimi hackami dla przestarzałej i obcej skadni.

Proszę przesyłać zgłoszenia o błędach do <procps-feedback@lists.sf.net>.