ps (Unix)

Z Multimediaexpo.cz

Příkaz ps ve většině unixových systémů zobrazuje běžící procesy. Příbuzný nástroj top zobrazuje běžící procesy v reálném čase. Jaderná vlákna jsou vypisována v hranatých závorkách.

Obsah

Příklad

Výstup příkazu ps může vypadat například takto:

tux~# ps
  PID TTY          TIME CMD
 7431 pts/0    00:00:00 su
 7434 pts/0    00:00:00 bash
18585 pts/0    00:00:00 ps

Příkaz můžeme použít spolu s příkazem grep pro vypsání jen některých řádků výstupu:

tux~# ps -A | grep firefox-bin
11778 ?        02:40:08 firefox-bin
11779 ?        00:00:00 firefox-bin

Přepínače

Příkaz ps má mnoho přepínačů. Na počítačích, které podporují standardy Single UNIX Specification a POSIX se používá kombinace voleb -ef, kde -e znamená všechny procesy a -f plný výstup (někdy se místo něj používá -l).

Na systémech odvozených z BSD jsou volby jiné (z historických důvodů). Typicky se používají volby aux, kde a vypisuje všechny procesy připojené k terminálu, volba 'x' zahrnuje procesy od terminálu odpojené a volba u zobrazuje u všech procesů uživatele, pod kterým je proces spuštěn. Všimněte si, že se vynechává znak pomlčka (-), podle čehož příkaz ps může rozpoznat, jaký styl voleb chcete použít. Přidání w, případně ww nebo www vypíše delší nebo úplný příkaz včetně parametrů, jak byl program spuštěn.

Formát zobrazení

Změna formátu zobrazení se provádí přepínačem -o (nebo o či --format, je to to samé) za kterým následuje čárkami oddělený seznam sloupců, které si uživatel přeje zobrazit:

 $ ~: ps -a -o pid,ppid,state,command
  PID  PPID S COMMAND
 8151  6401 S vim tables.rb
 8991  8452 S vim count.rb
10557 10147 S /usr/bin/ruby ./chars.rb
10884 10883 S man ps
10894 10884 S pager -s
10970 10961 R ps -a -o pid,ppid,state,command

Pak je možno použít přepínač -F, který zobrazuje velmi detailní informace, přepínač -O který funguje jako -o, ale má některé sloupce zezačátku nastavené (pid,format,state,tname,time,command nebo pid,format,tname,time,cmd)

Jednoduchý výběr procesů

  • -A, -e Vybere všechny procesy
  • T Vybere všechny procesy které jsou spojeny s aktuálním terminálem
  • r Omezí výběr jen na běžící procesy
  • -N, --deselect Výběr všech procesů které neodpovídají pravidlům (neguje je)

Výběr procesů

Za každým z těchto přepínačů se nachází čárkou nebo mezerou oddělený seznam hodnot

  • -C Výběr podle jména příkazu
  • -G Výběr podle RGID
  • U Výběr podle UID efektivního uživatele (EUID) nebo jeho jména
  • -U Výběr dle UID opravdového (real) uživatele nebo jeho jména
  • p, -p, --pid Výběr podle ID procesu (PID)
  • --ppid Výběr dle ID procesu rodiče (PPID)
  • 123 odpovídá --pid 123

Související články