Articles

ps aux-kommandoen og ps-kommandoen forklart

denne veiledningen forklarer hvordan du bruker ps-kommandoen I Linux. Det gir også 10 + praktiske eksempler på ps-kommandoen. Lær hvordan du leser utgangen av ps aux-kommandoen i detalj.

en kort introduksjon av ps-kommandoen

ps (process status) – kommandoen er En Av De mest brukte kommandoene I Linux. Vanligvis brukes det til å få mer og detaljert informasjon om en bestemt prosess eller alle prosesser. For eksempel brukes det til å vite om en bestemt prosess kjører eller ikke, hvem som kjører hvilken prosess i systemet, hvilken prosess bruker høyere minne eller CPU, hvor lenge en prosess kjører, etc.

LAB Setup

for å øve, start noen programmer og hold dem i gang. Bytt brukerkonto og gjenta den samme prosessen.

lab oppsett for utøvelse av ps kommando

anta nå at du er systemadministrator og er systemadministrator du vil vite hva som skjer i systemet.I dette tilfellet kan du bruke ps-kommandoen for å få den nødvendige informasjonen.

Bruke ps-kommandoen

Åpne terminal Og kjør ps-kommandoen

ps-kommandoen uten valg og argument

ps-kommandoen viser bare prosessen som kjører under den innloggede brukerkontoen fra gjeldende terminal.Du lurer kanskje på hvorfor ps-kommandoen viser to prosesser mens vi ikke har utført noen prosess fra denne terminalen så langt.

vel… første prosess viser prosessen der denne terminalen åpnes. Denne prosessen forblir åpen, til terminalen åpnes.

Andre prosess viser den siste utførte kommandoen i denne terminalen.

Angi alternativer med ps-kommandoen

ps-kommandoen godtar alternativer i tre stiler.

BSD UNIX-stil: – i denne stilen leveres alternativer uten ledende dash (for eksempel «aux»).

på& T Unix-stil: – i denne stilen leveres alternativene med en ledende dash (for eksempel «- aux»).

GNU Linux stil: – i DENNE stilen, er alternativene leveres med doble ledende streker(for eksempel «- sort»).

SELV OM PS-kommandoen godtar alternativer i mix-stilen, bør du alltid bruke bare en stil for å angi alternativene.

Grunnleggende eksempler på ps-kommandoen

hvis du vil skrive ut alle kjørende prosesser i systemet, bruker du en av følgende kommandoer.

$ps –A$ps -e

ps-a og ps-e kommandoer

alternativene A og e gir oppsummert oversikt over kjøringen processes.To skriv ut den detaljerte oversikten, bruk alternativene f (fullformat) og F (ekstra fullformat) med disse alternativene.

ps-ef-og ps-af-kommandoer

for å vise samme utgang i Bsd Unix-stil, bruk alternativene «aux».

ps aux kommando

kommandoen «ps aux» er Den mest brukte kommandoen Av Linux-administratorer. Før vi går til neste eksempel, la oss forstå alternativene som brukes i denne kommandoen i detalj.

ps aux-kommandovalg

a: – dette alternativet skriver ut kjørende prosesser fra alle brukere.

u: – dette alternativet viser bruker-eller eierkolonne i utdata.

x:- Dette alternativet skriver ut prosessene som ikke er utført fra terminalen.

Samlet alternativene » aux » skrive ut alle kjørende prosessen i systemet uansett hvor de har blitt utført.

ps aux-kommandoen utdata beskrivelse kolonne for kolonne
Kolonne Beskrivelse
BRUKER brukerkontoen under hvilken denne prosessen kjører
PID prosess-id for denne prosessen
%cpu cpu-tid brukt av denne prosessen (i prosent).
%mem Fysisk minne brukt av denne prosessen(i prosent).
VSZ Virtuelt minne som brukes av denne prosessen (i byte).
RSS Resident Set Size, det ikke-swapable fysiske minnet som brukes av denne prosessen (i KiB)
TTY Terminal som denne prosessen startes fra. Spørsmålstegn (?) tegn representerer at denne prosessen ikke er startet fra en terminal.
Stat Prosess tilstand. Forklart i neste tabell.
START Starttid og dato for denne prosessen
TID TOTAL CPU-tid brukt av denne prosessen
KOMMANDO kommandoen med alle dens argumenter som startet denne prosessen
PS aux stat kode med beskrivelse

TR>

er en øktleder tr dette er en av de mest populære måtene å gjøre dette på. I forgrunnen prosessgruppen

s AVBRYTBAR søvn (venter på at en hendelse skal fullføres)
t stoppet av jobbkontrollsignal
t stoppet av debugger under sporing
w paging (ikke gyldig siden 2.6.x død (bør aldri bli sett)
Z nedlagte («zombie») prosess, avsluttet, men ikke høstet av sin overordnede
< høy prioritet (ikke hyggelig for andre brukere)
lav prioritet (hyggelig for andre brukere)
nøkkelpunkter
  • CPU-bruk er uttrykt som prosentandelen av tid brukt kjører i løpet av hele levetiden til en prosess.
  • FELTENE STØRRELSE og RSS teller ikke noen deler av en prosess, inkludert sidetabellene, kjernestakken, struct thread_info og struct task_struct.
  • STØRRELSE er den virtuelle størrelsen på prosessen (kode+data+stack).
  • Prosesser merket < nedlagte > er døde prosesser (såkalte «zombier») som forblir fordi deres foreldre ikke har ødelagt dem riktig.
  • hvis lengden på brukernavnet er større enn lengden på visningskolonnen, vil brukernavnet bli avkortet.

10 + praktiske eksempler på ps-kommandoen

for å vise all prosess som kjører under roten brukerkonto, bruk følgende kommando.

$ps -U root -u root

I denne kommandoen:-

-U: – Velg prosessen basert på ekte bruker-ID eller navn.

-u: – Velg prosessen basert på effektiv bruker-ID eller navn.

RUID (Ekte Bruker-ID) representerer navnet på brukeren, MENS EUID (Effektiv Bruker-Id) beskriver brukeren hvis filtilgangstillatelser brukes av prosessen.

ps-u-u kommando

for å vise all prosess som kjører av en bestemt brukerkonto, bruk følgende kommando.

$ps –U –u 

ps-kommando vis alle prosesser som kjører under en enkelt brukerkonto

bruk følgende kommando for å vise alle prosesser som kjører under en bestemt gruppe.

$ps –G 

for en detaljert oversikt kan vi også kombinere –G-alternativet med-F-alternativet.

$ps –FG 

ps-fg kommando

for å vise all prosess i hierarkiet kan vi bruke følgende kommando.

$ps –A --forest

ps-a --forest

Viser bare spesifikk kolonne

som standard viser ps-kommandoen alle kolonner. Hvis vi bare er interessert i bestemte kolonner, kan vi begrense utgangen ved å angi de nødvendige kolonnenavnene som argumenter.

for eksempel, for å vise bare pid, BRUKER OG CMD kolonner, kan vi bruke følgende kommando.

$ps –eo pid,user,cmd

ps ser begrenset kolonne

Finne prosessen som bruker det høyeste minnet

ps-kommandoen sorterer ikke utdataene som standard. Ved å sette sorteringsrekkefølge til %MEM, kan vi finne prosessene som forbruker høyere minner.

for å angi sorteringsrekkefølgen, brukes — sort=. Vi kan også kombinere dette alternativet med andre alternativer for å få mer spesifikk utgang.

La Oss for eksempel bare vise de spesifikke feltene og bestille dem etter minnebruk.

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

ps-utdata sorter etter minnebruk

Begrensende utdata

ps-kommandoen begrenser ikke resultatet i utdata som standard.Hvis vi bare er interessert i å vite de tre beste prosessene som bruker det høyeste minnet, i stedet for å vise ps-kommandoens utgang i terminal, kan vi omdirigere den til hovedkommandoen.

som standard viser hovedkommandoen topp 10 linjer fra den angitte kilden.Vi kan overstyre denne standardvirkemåten ved å angi de nødvendige linjenumrene.

for å vise bare topp tre prosesser, kan vi bruke «-n 4» alternativet med hovedkommandoen.

ps begrensende utgang

for 3 resultater, angi sifferet 4 som argument. Som i ps-kommandoens utgang, er den første linjen opptatt av titlene.Akkurat som vi fant ut de høyeste minneforbrukende prosessene, kan vi også finne de høyeste CPU-forbrukerprosessene ved å sortere utdataene basert på CPU-kolonnen.For eksempel følgende kommando skriver topp 3 prosesser bestilt AV CPU-bruk.

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

ps-utdata sorter etter cpu-bruk

Finne totalt antall prosesser som kjører av en bruker

for å finne ut det totale antallet prosesser som kjører av en bruker, bruk følgende kommando

$ps –U –u | wc –l