ps aux command och ps command explained
denna handledning förklarar hur man använder ps-kommandot i Linux. Det ger också 10 + praktiska exempel på ps-kommandot. Lär dig hur du läser utmatningen från ps aux-kommandot i detalj.
en kort introduktion av ps-kommandot
kommandot ps (processstatus) är ett av de mest använda kommandona i Linux. Vanligtvis används det för att få mer och detaljerad information om en specifik process eller alla processer. Det används till exempel för att veta om en viss process körs eller inte, vem som kör vilken process i systemet, vilken process använder högre minne eller CPU, hur länge en process körs etc.
LAB Setup
för övning, starta vissa applikationer och håll dem igång. Byt användarkontot och upprepa samma process.
anta nu att du är systemadministratör och är systemadministratör vill du veta vad som händer i systemet.I det här fallet kan du använda ps-kommandot för att få den information som krävs.
använda ps-kommandot
Öppna terminal och kör ps-kommandot
utan något alternativ och argument visar ps-kommandot bara processen som körs under det inloggade användarkontot från den aktuella terminalen.
Du kanske undrar varför ps-kommandot visar två processer medan vi inte har kört någon process från den här terminalen hittills.
Tja … första processen visar processen under vilken denna terminal öppnas. Denna process förblir öppen tills terminalen öppnas.
andra processen visar det senast utförda kommandot i denna terminal.
ange alternativ med ps-kommandot
ps-kommandot accepterar alternativ i tre stilar.
BSD UNIX-stil: i denna stil levereras alternativ utan någon ledande streck (som ”aux”).
AT & T Unix – stil:- i denna stil levereras alternativen med ett ledande streck (som” – aux”).
GNU Linux style: – i denna stil levereras alternativ med dubbla ledande streck (som ”–sort”).
även om PS-kommandot accepterar alternativ i mix-stilen, bör du alltid bara använda en stil för att ange alternativen.
grundläggande exempel på ps-kommandot
om du vill skriva ut alla processer som körs i systemet använder du något av följande kommandon.
$ps –A$ps -e
alternativen A och e ger sammanfattad översikt över körning processes.To Skriv ut den detaljerade översikten, använd alternativen f (fullformat) och F (extra fullformat) med dessa alternativ.
för att visa samma utgång i BSD Unix-stil, använd alternativen”aux”.
kommandot” ps aux ” är det vanligaste kommandot av Linux-administratörer. Innan vi går vidare till nästa exempel, låt oss förstå alternativen som används i det här kommandot i detalj.
ps aux kommandoalternativ
a:- det här alternativet skriver ut processer som körs från alla användare.
u: – det här alternativet visar användar-eller ägarkolumn i utdata.
x:- Det här alternativet skriver ut de processer som inte har körts från terminalen.
sammantaget skriver alternativen ” aux ” ut hela körprocessen i systemet oavsett var de har körts.
ps aux command output beskrivning kolumn för kolumn
kolumn | beskrivning |
användare | användarkontot under vilket denna process körs |
PID | process-ID för denna process |
%CPU | CPU-tid som används av denna process (i procent). |
%MEM | fysiskt minne som används av denna process (i procent). |
VSZ | virtuellt minne som används av denna process (i byte). |
RSS | bosatt inställd storlek, det icke-bytbara fysiska minnet som används av denna process (i KiB) |
TTY | Terminal från vilken denna process startas. Frågetecken (?) tecken representerar att denna process inte startas från en terminal. |
STAT | Processtillstånd. Förklaras i nästa tabell. |
START | starttid och datum för denna process |
tid | total CPU-tid som används av denna process |
kommando | kommandot med alla dess argument som startade denna process |
PS aux stat kod med beskrivning
d | avbrottsfri sömn (vanligtvis Io) |
r | kör eller körbar (på körkö) |
s | avbrytbar sömn (väntar på att en händelse ska slutföras) |
T | stoppad av jobbstyrningssignal |
t | stoppad av debugger under spårning |
w | personsökning (gäller inte Sedan 2.6.xx kernel) |
X | död (ska aldrig ses) |
Z | nedlagd (”zombie”) process, avslutad men inte skördad av sin förälder |
< | hög prioritet (inte trevligt för andra användare) |
n | låg prioritet (trevligt för andra användare) |
l | har sidor låsta i minnet (för realtid och anpassad Io) |
s | är en session ledare |
l | är multi-threaded (med clone_thread, som nptl pthreads gör) |
+ | är i förgrundsprocessgruppen |
nyckelpunkter
- CPU-användning uttrycks som procentandelen av tiden som körs under hela processens livstid.
- fälten storlek och RSS räknas inte vissa delar av en process, inklusive sidtabeller, kärnstack, struct thread_info och struct task_struct.
- storlek är processens virtuella storlek (kod+data+stack).
- processer markerade <nedlagda> är döda processer (så kallade” zombies”) som kvarstår eftersom deras förälder inte har förstört dem ordentligt.
- Om användarnamnets längd är större än visningskolumnens längd kommer användarnamnet att trunkeras.
10+ praktiska exempel på ps-kommandot
för att visa alla processer som körs under root-användarkontot, använd följande kommando.
$ps -U root -u root
i det här kommandot:-
-U: – Välj processen baserat på riktigt användar-ID eller namn.
-u: – Välj processen baserat på effektivt användar-ID eller namn.
RUID (Real User ID) representerar användarens namn medan EUID (effektivt användar-ID) beskriver användaren vars filåtkomstbehörigheter används av processen.
för att visa alla processer som körs av ett specifikt användarkonto, använd följande kommando.
$ps –U –u
för att visa alla processer som körs under en viss grupp, använd följande kommando.
$ps –G
för en detaljerad översikt kan vi också kombinera –g –alternativet med-F-alternativet.
$ps –FG
för att visa all process i hierarkin kan vi använda följande kommando.
$ps –A --forest
visar endast specifik kolumn
som standard visar ps-kommandot alla kolumner. Om vi bara är intresserade av vissa kolumner kan vi begränsa utmatningen genom att ange de önskade kolumnnamnen som argument.
till exempel, för att bara visa PID -, användar-och CMD-kolumner kan vi använda följande kommando.
$ps –eo pid,user,cmd
hitta processen som använder det högsta minnet
som standard sorterar ps-kommandot inte utmatningen. Genom att ställa in sorteringsordning till % MEM kan vi hitta de processer som konsumerar högre minnen.
för att ställa in sorteringsordningen används alternativet –sort=. Vi kan också kombinera detta alternativ med andra alternativ för att få den mer specifika produktionen.
Låt oss till exempel bara visa de specifika fälten och beställa dem efter minnesanvändningar.
$ps –eo pid,user,%mem,cmd --sort=-%mem
begränsande utgång
som standard begränsar ps-kommandot inte resultatet i utdata.Om vi bara är intresserade av att känna till de tre bästa processerna som förbrukar det högsta minnet,istället för att visa ps-kommandos utgång i terminal kan vi omdirigera det till huvudkommandot.
som standard visar huvudkommandot topp 10 rader från den medföljande källan.Vi kan åsidosätta detta standardbeteende genom att ange de önskade radnumren.
för att bara visa de tre bästa processerna kan vi använda alternativet ”- n 4 ” med huvudkommandot.
för 3 resultat, ange siffran 4 som argument. Som i ps command: s utgång är den första raden upptagen av titlarna.
hitta processen som använder den högsta CPU
precis som vi räknade ut de högsta minneskrävande processerna kan vi också hitta de högsta CPU-konsumtionsprocesserna genom att sortera utmatningen baserat på CPU-kolumnen.Till exempel följande kommando skriver topp 3 processer beställda av CPU-användning.
$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4
hitta det totala antalet processer som körs av en användare
för att räkna ut det totala antalet processer som körs av en användare, Använd följande kommando
$ps –U –u | wc –l
Leave a Reply