Scroll to navigation

PS(1) Podręcznik użytkownika Linuksa PS(1)

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

ps -e
ps -ef
ps -eF
ps -ely
ps ax
ps axu
ps -ejH
ps axjf
ps -eLf
ps axms
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
ps -U root -u root -N
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
ps -o "%u : %U : %p : %a"
ps -C syslogd -o pid=
ps -p 42 -o comm=

PROSTY WYBÓR PROCESÓW

Wybór wszystkich procesów. Identyczne z -e.

Wybór wszystkich procesów, poza tymi, które spełniają określone warunki.

Wybór wszystkich procesów podpiętych do tego teminala. Identyczny z opcją t bez żadnych argumentów.

Wybór wszystkich procesów poza liderami sesji (zobacz getsid(2)) i procesami nie podłączonymi do żadnego terminala.

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.

Wybór wszystkich procesów poza liderami sesji.

Wybór wszystkich procesów. Identyczne z -A.

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.

Zawęża wybór tylko do uruchomionych procesów.

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.

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

Wybór przez nazwę polecenia.
Wybiera procesy, których nazwa pliku wykonywalnego jest podana w cmdlist.

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).

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.

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)).

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.

Wybór przez podanie identyfikatorów procesów. Identyczne z -p--pid.

Wybór przez PID.
Wybiera procesy, których identyfikatory pojawiają się w pidlist. Identyczne z p--pid.

Wybór przez identyfikator sesji.
Wybiera procesy mające identyfikator sesji podany w sesslist.

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.

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.

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.

Wybór przez podanie rzeczywistego ID grupy (RGID) bądź nazwy. Identyczne z -G.

Wybór przez podanie rzeczywistego ID użytkownika (RUID) bądź nazwy. Identyczne z -U.

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.

Wybór przez ID procesu. Identyczne z -p i p.

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.

Wybór przez ID sesji. Identyczne z -s.

Wybór przez podanie terminala. Identyczne z -tt.

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.

Format ekstrapełny. Patrz opcja -f, którą -F włącza.

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.

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.

Dodaje kolumnę z danymi dotyczącymi bezpieczeństwa (dla SE Linuksa).

Format rejestru.

Dodaje kolumnę z danymi dotyczącymi bezpieczeństwa (dla SE Linuksa).

Wyświetla inne informacje schedulera, w połączeniu z opcją -l.

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).

Format kontroli zadań BSD.

Format zadań.

Długi format BSD.

Długi format. Opcja -y jest często przydatna w połączeniu z tą opcją.

Określa format zdefiniowany przez użytkownika. Identyczne z -o i --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.

Format wyświetlania sygnałów

Wyświetla format zorientowany na użytkownika

Wyświetla format pamięci wirtualnej

Nie pokazuje flag, wyświetla rss zamiast addr. Może być użyta tylko z -l.

Format zdefiniowany przez użytkownika. Identyczne z -o i o.

Wyświetla format kontekstu bezpieczeństwa (dla SE Linuksa).

MODYFIKATORY WYJŚCIA

Pokazuje hierarchię procesów (las)

Określa plik z listą nazw funkcji jądra. Identyczne z -n, patrz poniżej -n.

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.

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.

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.

Wyświetla środowisko za poleceniem.

Hierarchia procesów jako ASCII-art (las).

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.

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

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

Wyjście liczbowe dla kolumn WCHAN i USER (włączając wszystkie typu UID i GID).

Szerokie wyjście. Proszę użyć dwa razy, aby uzyskać nielimitowaną szerokość wyjścia.

Szerokie wyjście. Proszę użyć dwa razy, aby uzyskać nielimitowaną szerokość wyjścia.

Ustawia szerokość ekranu

Ustawia szerokość ekranu

Dołącza kilka danych zmarłych procesów-dzieci (jako sumę z rodzicem)

Drzewo procesów jako ASCII-art

Powtarza linie nagłówka, po jednej na stronę wyjścia

Nie wyświetla żadnej linii nagłówka

Ustawia wysokość ekranu

Ustawia wysokość ekranu

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

Ustawia szerokość ekranu

WYŚWIETLANIE WĄTKÓW

Wyświetla wątki tak, jakby były procesami

Wyświetla wątki, być może z kolumnami LWP i NLWP

Wyświetla wątki, być może z kolumną SPID

Wyświetla wątki za procesami

Wyświetla wątki za procesami

INNE INFORMACJE

Wyświetla listę wszystkich specyfikatorów formatu.

Wyświetla wersję procps.

Wyświetla wersję procps.

Wyświetla komunikat pomocy.

Wyświetla informacje przydatne przy debugowaniu.

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:

Nieprzerywalnie uśpiony (zazwyczaj wejście/wyjście)
Wykonywany lub możliwy do wykonania (w kolejce do wykonania)
Przerywalnie uśpiony (czekający na zakończenie zdarzenia)
Zatrzymany, albo przez sygnał kontroli zadań, albo z powodu śledzenia.
Stronicowany (niepoprawne od wersji jądra 2.6.xx)
Zmarły (nigdy nie powinno wystąpić)
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)
o niskim priorytecie (miły dla innych użytkowników)
mający zablokowane strony w pamięci (dla czasu rzeczywistego lub IO)
będący liderem sesji
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
0
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.
c C 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).
f F 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 F Patrz f (aliasy fflags).
flags F 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.
s S 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 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 S 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:

Nadpisuje domyślną szerokość wyjścia.
Nadpisuje domyślną wysokość wyjścia.
Jedno z posix, old, linux, bsd, sun, digital... (patrz poniżej sekcja OSOBOWOŚĆ).
Jedno z posix, old, linux, bsd, sun, digital... (patrz poniżej sekcja OSOBOWOŚĆ).
Wymusza przestarzałą interpretację linii poleceń.
Format daty.
Obecnie nieobsługiwana.
Nadpisuje domyślny format wyjścia.
Domyślna lokalizacja pliku nazw (System.map).
Domyślna lokalizacja pliku nazw (System.map).
Nie ignoruje złych opcji.
Ustawione na "on", działa tak, jak POSIXLY_CORRECT.
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>.

28 lipca 2004 Linux