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.
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
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
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.
Chcete-li zobrazit stejný výstup ve stylu BSD Unix, použijte volby „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.
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
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
Pro zobrazení všech procesů v hierarchii, můžeme použít následující příkaz.
$ps –A --forest
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
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
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“.
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
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
Leave a Reply