V systému Linux se běžící instance programu nazývá proces. Při práci na stroji se systémem Linux možná budete muset zjistit, jaké procesy jsou aktuálně spuštěny.
Existuje řada příkazů, pomocí kterých můžete najít informace o spuštěných procesech pomocí , pstree
a top
.
Toto článek vysvětluje, jak pomocí příkazu ps
vypsat aktuálně spuštěné procesy a zobrazit informace o těchto procesech.
Jak používat příkaz ps # #
Obecná syntaxe příkazu ps
je následující:
Z historických důvodů a z důvodu kompatibility přijímá příkaz ps
několik různých typů voleb:
- Možnosti stylu UNIX, kterým předchází jedna pomlčka.
- Možnosti stylu BSD, používané bez pomlčky.
- Dlouhé možnosti GNU, před nimi jsou dvě pomlčky.
Různé typy možností ca n být smíšený, ale v některých konkrétních případech se mohou objevit konflikty, proto je nejlepší držet se jednoho typu možnosti.
Možnosti BSD a UNIX lze seskupit.
Je to nejjednodušší formulář, pokud je použit bez jakékoli volby, ps
vytiskne čtyři sloupce informací pro minimálně dva procesy spuštěné v aktuálním prostředí, samotný shell a procesy, které běží v prostředí, když byl vyvolán příkaz.
Výstup obsahuje informace o shellu (bash
) a procesu běžícím v tomto shell (ps
, příkaz, který jste zadali):
Čtyři sloupce jsou označeny PID
, TTY
, TIME
a CMD
.
-
PID
– ID procesu. Obvykle jsou při spuštění příkazups
nejdůležitější informace, které uživatel hledá, procesní PID. Znát PID vám umožní zabít nefunkční proces. -
TTY
– Název řídicího terminálu procesu. -
TIME
– Kumulativní čas CPU procesu, zobrazený v minutách a sekundách. -
CMD
– název příkazu který byl použit ke spuštění procesu.
Výše uvedený výstup není příliš užitečný, protože neobsahuje mnoho informací. Skutečná síla příkazu ps
je spuštěna s dalšími možnostmi.
Příkaz ps
přijímá obrovské množství možností, které lze použít k zobrazení konkrétní skupiny procesů a různých informací o procesu, ale při každodenním používání je potřeba jen hrstka.
ps
se nejčastěji používá s následující kombinací možností:
Formulář BSD:
-
a
Možnost říkáps
zobrazit procesy všech uživatelů. Zobrazeny nejsou pouze procesy, které nejsou spojeny s terminálem, a procesy vedoucích skupin. -
u
znamená uživatelsky orientovaný formát, který poskytuje podrobné informace o procesy. - Možnost
x
dává pokynps
vypsat procesy bez řídicího terminálu. Jedná se hlavně o procesy, které se spouštějí při spuštění a běží na pozadí.
Příkaz zobrazí informace v jedenácti sloupcích označených USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
a CMD
.
Již jsme vysvětlili PID
, TTY
, TIME
a CMD
. Zde je vysvětlení dalších štítků:
-
USER
– uživatel, který proces spouští. -
%CPU
– Využití procesoru CPU. -
%MEM
– Procento velikosti rezidentní sady procesu do fyzické paměti stroje . -
VSZ
– velikost virtuální paměti procesu v KiB. -
RSS
– Velikost fyzické paměti, kterou proces používá. -
STAT
– kód stavu procesu, napříkladZ
(zombie),S
(spící) aR
(běží). -
START
– čas spuštění příkazu.
Možnost f
říká ps
zobrazit stromové zobrazení nadřazených procesů:
Příkaz ps
také umožňuje třídit výstup. Například pro seřazení výstupu podle využití paměti byste použili:
UNIXový formulář:
- Možnost
-e
dává pokynps
zobrazit všechny procesy. -
-f
představuje plnoformátový výpis, který poskytuje podrobné informace o procesech.
Příkaz zobrazí informace v osmi sloupcích označených UID
, PID
, PPID
, C
, STIME
, TIME
a CMD
.
Štítky, které ještě nejsou vysvětleny, mají následující význam:
-
UID
– Stejné jakoUSER
, uživatel, který proces spouští. -
PPID
– ID nadřazeného procesu. -
C
– Sam e jako%CPU
, využití procesoru CPU. -
STIME
– Stejné jakoSTART
, čas, kdy byl příkaz spuštěn.
Chcete-li zobrazit pouze procesy spuštěné jako konkrétní uživatel, zadejte následující příkaz, kde linuxize
je jméno uživatele:
Uživatelsky definovaný formát #
o
umožňuje určit, které sloupce se zobrazí při spuštění příkazu ps
.
Například tisknout informace pouze o PID
a COMMAND
byste spustili jeden z následujících příkazů:
Použití ps s jinými příkazy #
ps
lze použít v kombinaci s dalšími příkazy pomocí pipingu.
Pokud chcete zobrazit výstup příkazu ps
, po jedné stránce Potrubí to do less
příkazu:
Výstup ps
příkaz lze filtrovat pomocí grep
. Chcete-li například zobrazit pouze proces patřící uživateli root, spustili byste:
Závěr #
The ps
příkaz je jedním z nejčastěji používaných příkazů při řešení problémů v systémech Linux. Má mnoho možností, ale většina uživatelů obvykle ke shromažďování informací o spuštěných procesech používá ps aux
nebo ps -ef
. p> Další informace o ps
zadejte do svého terminálu man ps
.