Articles

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.

lab setup för övning av ps command

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

ps-kommandot utan alternativ och argument

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

ps-A och ps-e kommandon

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.

ps-ef och ps-af kommandon

för att visa samma utgång i BSD Unix-stil, använd alternativen”aux”.

ps aux command

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.

ps-u-u kommando

för att visa alla processer som körs av ett specifikt användarkonto, använd följande kommando.

$ps –U –u 

ps-kommandot Visa alla processer som körs under ett användarkonto

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 

ps-FG kommando

för att visa all process i hierarkin kan vi använda följande kommando.

$ps –A --forest

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

ps visning begränsad kolumn

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

ps output Sortera efter minnesanvändningar

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.

ps begränsande utgång

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

ps output Sortera efter cpu-användningar

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