Articles

vysvětlení příkazu ps aux a příkazu ps

tento tutoriál vysvětluje, jak používat příkaz ps v Linuxu. Poskytuje také 10 + praktických příkladů příkazu ps. Naučte se podrobně číst výstup příkazu ps aux.

stručný úvod příkazu ps

příkaz ps (stav procesu) je jedním z nejčastěji používaných příkazů v Linuxu. Obvykle se používá k získání podrobnějších informací o konkrétním procesu nebo všech procesech. Pro příklad je použit vědět, zda určitý proces je spuštěn, nebo ne, kdo běží to, co proces v systému, který proces používá vyšší paměť nebo CPU, jak dlouho proces běží, atd.

LAB Setup

pro praxi spusťte některé aplikace a udržujte je v chodu. Přepněte uživatelský účet a opakujte stejný postup.

laboratoř pro praxi ps příkaz

Nyní předpokládejme, že jste správce systému a správce systému, chcete vědět, co se děje v systému.V takovém případě můžete pomocí příkazu ps získat požadované informace.

Pomocí příkazu ps

Otevřít terminál a spustit příkaz ps

příkaz ps bez možnost a argument

Bez jakéhokoli možnost a argument, příkaz ps zobrazuje pouze proces běžící pod přihlášeného uživatelského účtu z aktuálního terminálu.

možná se divíte, proč příkaz ps zobrazuje dva procesy, zatímco z tohoto terminálu jsme dosud neprovedli žádný proces.

No … první proces ukazuje proces, pod kterým je tento terminál otevřen. Tento proces zůstává otevřený, dokud se terminál neotevře.

druhý proces zobrazuje poslední provedený příkaz v tomto terminálu.

zadání voleb pomocí příkazu ps

příkaz ps přijímá volby ve třech stylech.

BSD UNIX style: – v tomto stylu jsou volby dodávány bez přední pomlčky (například „aux“).

AT & t Unix style: – v tomto stylu jsou volby dodávány s přední pomlčkou (například „- aux“).

GNU Linux style: – v tomto stylu jsou volby dodávány s dvojitými předními pomlčkami (například „–sort“).

přestože příkaz PS přijímá volby ve stylu mixu, měli byste vždy použít pouze jeden styl k určení možností.

základní příklady příkazu ps

Chcete-li vytisknout všechny spuštěné procesy v systému, použijte některý z následujících příkazů.

$ps –A$ps -e

ps -a ps -e příkazy

možnosti a a e poskytují souhrnný přehled o běžících procesů.Vytisknout podrobný přehled, použijte možnosti f (plný formát) a F (navíc plný formát) s těmito možnostmi.

příkazy ps-ef a ps-Af

Chcete-li zobrazit stejný výstup ve stylu BSD Unix, použijte volby „aux“.

příkaz ps aux

příkaz „ps aux“ je nejčastěji používaným příkazem správců Linuxu. Než přejdeme k dalšímu příkladu, podrobně pochopíme možnosti použité v tomto příkazu.

možnosti příkazu ps aux

a: – tato volba vypíše běžící procesy od všech uživatelů.

u: – tato volba zobrazuje ve výstupu sloupec uživatel nebo vlastník.

x:- Tato volba vytiskne procesy, které nebyly provedeny z terminálu.

společně volby“ aux “ vytisknou celý běžící proces v systému bez ohledu na to, odkud byly provedeny.

ps aux výstupu příkazu popis sloupce sloupec
Sloupec Popis
UŽIVATEL uživatelský účet, pod kterým tento proces je spuštěn
PID ID Procesu tohoto procesu
%CPU čas PROCESORU používá tento proces (v procentech).
%MEM fyzická paměť používaná tímto procesem (v procentech).
VSZ virtuální paměť používaná tímto procesem (v bajtech).
RSS Resident Set Size, non-swap fyzické paměti používané tohoto procesu (v KiB)
ANO Terminál, ze kterého tento proces je zahájen. Otazník (?) znaménko znamená, že tento proces není spuštěn z terminálu.
STAT Stav procesu. Vysvětleno v následující tabulce.
Počáteční datum a čas tento proces
ČAS Celkový čas PROCESORU používá tento proces
PŘÍKAZ příkaz všechny jeho argumenty, které začaly tento proces
ps aux stat kód popis
D nepřerušitelný spánek (obvykle IO)
R běh nebo runnable (na spustit frontu)
S nepřerušitelný spánek (čekání na událost)
T zastaveno signálem řízení úlohy
t zastaveno debuggerem během trasování
w stránkování (neplatí od 2.6.xx kernel)
x mrtvý (by nikdy neměla být vidět)
Z zaniklé („zombie“), proces, ukončeno ale není využit jeho rodič
< s vysokou prioritou (není hezké, aby ostatní uživatelé)
N s nízkou prioritou (nice pro ostatní uživatele)
L má zamčené stránky do paměti (pro real-time a vlastní IO)
s je relace vůdce
l je multi-threaded (pomocí CLONE_THREAD, jako NPTL pthreads)
a+ v popředí proces skupiny
Klíčové body
  • využití CPU je vyjádřena jako procento času, strávené během celé doby životnosti procesu.
  • pole velikost a RSS nepočítají některé části procesu, včetně tabulek stránek, zásobníku jádra, struct thread_info a struct task_struct.
  • velikost je virtuální velikost procesu (kód+data+zásobník).
  • procesy označené <defunct> jsou mrtvé procesy (tzv.“ zombie“), které zůstávají, protože je jejich rodič řádně nezničil.
  • pokud je délka uživatelského jména větší než délka sloupce zobrazení, uživatelské jméno bude zkráceno.

10+ praktické příklady příkazu ps

zobrazit všechny proces běží pod uživatelem root, použijte následující příkaz.

$ps -U root -u root

v tomto příkazu: –

– U: – vyberte proces založený na skutečném ID nebo jménu uživatele.

-u: – vyberte proces na základě efektivního ID uživatele nebo jména.

RUID (Real User ID) představuje jméno uživatele, zatímco EUID (Effective User ID) popisuje uživatele, jehož přístupová oprávnění jsou použity v procesu.

příkaz ps-u-U

Chcete-li zobrazit všechny procesy spuštěné konkrétním uživatelským účtem, použijte následující příkaz.

$ps –U –u 

ps příkaz zobrazit všechny proces běží pod jeden uživatelský účet

Pro zobrazení všech procesů spuštěných v rámci určité skupiny, použijte následující příkaz.

$ps –G 

Pro detailní přehled můžeme také kombinovat volbu-G s volbou-f.

$ps –FG 

ps -fg příkaz

Pro zobrazení všech procesů v hierarchii, můžeme použít následující příkaz.

$ps –A --forest

ps - ... lesní

Zobrazení pouze určité sloupce,

ve výchozím nastavení ps příkaz zobrazí všechny sloupce. Pokud nás zajímají pouze konkrétní sloupce, můžeme výstup omezit zadáním požadovaných názvů sloupců jako argumentů.

například pro zobrazení pouze sloupců PID, USER a CMD můžeme použít následující příkaz.

$ps –eo pid,user,cmd

ps prohlížení omezené sloupec

Nalezení proces, který je pomocí nejvyšší paměti

ve výchozím nastavení, ps příkaz není druh výstupu. Nastavením pořadí řazení na %MEM můžeme najít procesy, které spotřebovávají vyšší paměti.

pro nastavení pořadí řazení se používá volba –sort= . Tuto možnost můžeme také kombinovat s dalšími možnostmi, abychom získali konkrétnější výstup.

například zobrazme pouze konkrétní pole a uspořádejme je podle využití paměti.

$ps –eo pid,user,%mem,cmd --sort=-%mem

ps výstup seřadit podle paměti zvyklostem

Omezení výstupu

ve výchozím nastavení příkazu ps neomezuje výsledek na výstupu.Pokud nás zajímá pouze znalost prvních tří procesů, které spotřebovávají nejvyšší paměť, místo zobrazení výstupu příkazu ps v terminálu jej můžeme přesměrovat na příkaz head.

ve výchozím nastavení příkaz head zobrazuje top 10 řádků z poskytnutého zdroje.Toto výchozí chování můžeme přepsat zadáním požadovaných čísel řádků.

pro zobrazení pouze prvních tří procesů můžeme pomocí příkazu head použít volbu „- n 4“.

ps omezující výstup

pro 3 výsledky zadejte číslici 4 jako argument. Stejně jako ve výstupu příkazu ps je první řádek obsazen tituly.

Nalezení proces, který je pomocí nejvyšší CPU

Stejně jako jsme zjistili nejvyšší paměťové náročné procesy,můžeme také najít nejvyšší CPU náročné procesy třídění výstupu založené na sloupec CPU.Například následující příkaz vytiskne top 3 procesy seřazené podle využití CPU.

$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4

ps výstup řadit podle cpu zvyklosti

Nalezení celkový počet procesů spuštěných uživatelem,

Chcete-li zjistit celkový počet procesů spuštěných uživatelem, použijte následující příkaz,

$ps –U –u | wc –l