table of contents
- NAZWA
- SKŁADNIA
- OPIS
- OPCJE LINII KOMEND
- PRZYKŁADY
- PROSTY WYBÓR PROCESÓW
- WYBÓR PROCESÓW PRZEZ PODANIE LISTY
- KONTROLOWANIE FORMATU WYJŚCIA
- MODYFIKATORY WYJŚCIA
- WYŚWIETLANIE WĄTKÓW
- INNE INFORMACJE
- UWAGI
- FLAGI PROCESU
- KODY STANU PROCESU
- PRZESTARZAŁE KLUCZE SORTOWANIA
- SPECYFIKATORY FORMATU AIX
- STANDARDOWE SPECYFIKATORY FORMATU
- ZMIENNE ŚRODOWISKA
- OSOBOWOŚĆ
- ZOBACZ TAKŻE
- STANDARDY
- AUTOR
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¶
- 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 i --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 i --pid.
- -p pidlist
- Wybór przez PID.
Wybiera procesy, których identyfikatory pojawiają się w pidlist. Identyczne z p i --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 i --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 -t i t.
- --user userlist
- Wybór przez podanie efektywnego ID użytkownika (EUID) bądź nazwy. Identyczne z -u i U.
- -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¶
INNE INFORMACJE¶
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 |
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 cmd, command). |
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_block, sigmask). |
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_catch, sigcatch). |
class | CLS | Klasa schedulera procesu (aliasy policy, cls). Możliwe wartości pola: - nieraportowany TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR ? wartość nieznana |
cls | CLS | Klasa schedulera procesu (aliasy policy, class). Możliwe wartości pola: - nieraportowany TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR ? wartość nieznana |
cmd | CMD | Patrz args (aliasy args, command). |
comm | COMMAND | Nazwa polecenia (tylko nazwa pliku wykonywalnego). Wyjście tej kolumny może zawierać spacje (aliasy ucmd, ucomm). |
command | COMMAND | Patrz args (aliasy args, cmd). |
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 uname, user). |
f | F | Flagi skojarzone z procesem, patrz sekcja FLAGI PROCESU. (aliasy flag, flags). |
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 f, flags). |
flags | F | Patrz f (aliasy f, flag). |
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 spid, tid). |
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 class, cls). 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 rssize, rsz). |
rssize | RSS | Patrz rss (aliasy rss, rsz). |
rsz | RSZ | Patrz rss (aliasy rss, rssize). |
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 session, sid). |
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 sess, session). |
sig | PENDING | Patrz pending (aliasy pending, sig_pend). |
sigcatch | CAUGHT | Patrz caught (aliasy caught, sig_catch). |
sigignore | IGNORED | Patrz ignored (aliasy ignored, sig_ignore). |
sigmask | BLOCKED | Patrz blocked (aliasy blocked, sig_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 lwp, tid). |
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 tt, tty). |
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 tname, tty). |
tty | TT | Kontrolujący tty (terminal) (aliasy tname, tt). |
ucmd | CMD | Patrz comm (aliasy comm, ucomm). |
ucomm | COMMAND | Patrz comm (aliasy comm, ucmd). |
uid | UID | Patrz euid (aliasy euid). |
uname | USER | Patrz euser (aliasy euser, user). |
user | USER | Patrz euser (aliasy euser, uname). |
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¶
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 |