Android

Ps-kommando i linux (listeprosesser)

12.Linux для Начинающих - Процессы и Память: top, free, ps

12.Linux для Начинающих - Процессы и Память: top, free, ps

Innholdsfortegnelse:

Anonim

I Linux kalles en kjørende forekomst av et program prosess. Noen ganger, når du jobber med en Linux-maskin, kan det hende du må finne ut hvilke prosesser som kjører for øyeblikket.

Det er mange kommandoer du kan bruke til å finne informasjon om pstree , med ps , pstree og top som de mest brukte.

Denne artikkelen forklarer hvordan du bruker ps kommandoen til å liste opp prosessene som for tiden kjører og vise informasjon om disse prosessene.

Hvordan bruke ps kommando

Den generelle syntaks for ps kommandoen er som følger:

ps

Av historiske og kompatible årsaker godtar ps kommandoen flere forskjellige typer alternativer:

  • UNIX-stilalternativer, forutgående av et enkelt bindestrek.BSD-stilalternativer, brukt uten bindestrek. GNU lange alternativer, forut for to streker.

Ulike alternativstyper kan blandes, men i noen spesielle tilfeller kan det oppstå konflikter, så det er best å holde seg til en alternativtype.

BSD og UNIX alternativer kan grupperes.

I den enkleste formen, når det brukes uten noe alternativ, vil ps skrive ut fire kolonner med informasjon for minst to prosesser som kjører i det nåværende skallet, selve skallet og prosessene som kjører i skallet da kommandoen ble påkalt.

ps

Utdataene inneholder informasjon om skallet ( bash ) og prosessen som kjøres i dette skallet ( ps , kommandoen du skrev):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

De fire kolonnene er merket PID , TTY , TIME og CMD .

  • PID - Prosess-ID. Vanligvis, når du kjører ps kommandoen, er den viktigste informasjonen brukeren ser etter prosessen PID. Når du kjenner PID-enheten, kan du drepe en feilfunksjon. TTY - Navnet på kontrollterminalen for prosessen. TIME - Kumulativ CPU-tid for prosessen, vist i minutter og sekunder. CMD - Navnet på kommandoen som ble brukt til å starte prosessen.

Utdataene ovenfor er lite nyttige, siden den ikke inneholder mye informasjon. Den virkelige kraften til ps kommandoen kommer når den lanseres med flere alternativer.

ps kommandoen godtar et stort antall alternativer som kan brukes til å vise en spesifikk gruppe prosesser og forskjellig informasjon om prosessen, men bare en håndfull er nødvendig i den daglige bruken.

ps blir hyppigst brukt med følgende kombinasjon av alternativer:

BSD skjema:

ps aux

  • Alternativet a forteller at ps skal vise prosessene til alle brukere. Bare prosessene som ikke er tilknyttet en terminal og prosesser fra gruppeledere vises ikke. u står for et brukerorientert format som gir detaljert informasjon om prosessene. x alternativet ber ps å liste opp prosessene uten en kontrollterminal. Dette er hovedsakelig prosesser som startes på starttid og kjører i bakgrunnen.

Kommandoen viser informasjon i elleve kolonner merket USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME og CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Vi har allerede forklart PID , TTY , TIME og CMD etiketter. Her er en forklaring på andre etiketter:

  • USER - Brukeren som kjører prosessen. %CPU - CPU-bruken av prosessen. %MEM - Prosentandelen av prosessens beboer angir størrelse til det fysiske minnet på maskinen. VSZ - Virtuelt minnestørrelse på prosessen i KiB. RSS - Størrelsen på det fysiske minnet som prosessen bruker. STAT - STAT , for eksempel Z (zombie), S (sov) og R (kjører). START - Tiden da kommandoen startet.

Alternativet f forteller ps å vise et trebilde av foreldre til barn prosesser:

ps auxf

Med ps kommandoen kan du også sortere utdataene. For å sortere utdataet basert på minnebruken, bruker du for eksempel:

ps aux --sort=-%mem

UNIX skjema:

ps -ef

  • Alternativet -e instruerer ps å vise alle prosesser. -f står i fullformatliste, som gir detaljert informasjon om prosessene.

Kommandoen viser informasjon i åtte kolonner merket UID , PID , PPID , C , STIME , TIME og CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Etikettene som ikke allerede er forklart, har følgende betydning:

  • UID - Samme som USER , brukeren som kjører prosessen. PPID - IDen til overordnet prosess. C - Samme som %CPU , prosessens CPU-bruk. STIME - Samme som START , tidspunktet da kommandoen startet.

Hvis du bare vil se prosessene som kjøres som en bestemt bruker, skriver du inn følgende kommando, der linuxize er navnet på brukeren:

ps -f -U linuxize -u linuxize

Brukerdefinert format

Alternativet o lar deg spesifisere hvilke kolonner som skal vises når du kjører ps kommandoen.

For å skrive ut informasjon bare om PID og COMMAND , kjører du en av følgende kommandoer:

ps -efo pid, comm

ps auxo pid, comm

Bruke ps med andre kommandoer

ps kan brukes i kombinasjon med andre kommandoer gjennom rørføring.

ps -ef | less

Utgangen fra ps kommandoen kan filtreres med grep . For å vise for eksempel bare prosessen som tilhører rotbrukeren du vil kjøre:

ps -ef | grep root

Konklusjon

ps kommandoen er en av de mest brukte kommandoene når du feilsøker problemer på Linux-systemer. Det har mange alternativer, men vanligvis bruker de fleste enten ps aux eller ps -ef å samle informasjon om kjørerprosesser.

For mer informasjon om ps , skriv man ps i terminalen.

ps terminal