Bruke PS -kommando i Linux

Bruke PS -kommando i Linux
De PS Kommando brukes til å vise prosessstatus som et øyeblikksbilde. I motsetning til Microsoft Windows som viser prosesser status i live visning. I Linux, hvis vi ønsker et live syn på prosessene, må vi bruke toppkommandoen. Denne opplæringen forklarer hvordan du bruker PS -kommandoen i Linux.

Komme i gang med PS -kommandoen i Linux:

For å starte, la oss kjøre kommandoen PS uten parametere. I dette tilfellet vil kommandoen PS vise bare prosesser utført av rotbrukeren.

$ ps

Forstå PS Kommandoutgang:

De 4 kolonnene som vises inneholder følgende informasjon:

  • PID: Prosess -ID, viser prosessidentifikasjonsnummeret.
  • Tty: Identifiserer terminalen som prosessen ble utført.
  • TID: Viser prosessorens tid okkupert av programmet.
  • CMD: Viser kommandoen som ble brukt til å starte prosessen.

Hvis du vil vise alle brukere prosesser, må du legge til flagget -øks som vist under:

$ PS -AX

Flagget -en Brukt i skjermdumpen nedenfor indikerer PS for å vise alle prosesser bortsett fra både sesjonsledere og prosesser som ikke er assosiert med terminaler. Flagget -x viser prosesser uten en kontrollerende terminal og prosesser med en kontrollerende terminal.

Merk: En sesjonsleder er en prosess hvis PID og Sid er den samme.

De fleste Linux -brukere utfører ps -axu. Flagget -u viser den effektive brukeren av en prosess. En effektiv bruker er den brukeren hvis filtilgangstillatelser brukes av prosessen (dette emnet blir forklart i opplæringen Setuid, Setgid og Sticky Bit forklart).

Som du kan se på skjermbildet nedenfor, ved å legge til -u Flagge nye kolonner dukker opp.

$ ps -axu

Kolonnene viser følgende informasjon:

BRUKER: viser den effektive brukeren, hvis tillatelser brukes til å kjøre prosessen.

%PROSESSOR: Denne kolonnen viser beregningen av tiden som brukes av prosessen delt på tidspunktet for at prosessen er i utførelse.

%Mem: Denne kolonnen viser RSS (bosatt settstørrelse) delt på det brukte minnet. Denne kolonnen anbefales ikke for brukere å sjekke minnebruken fordi det brukte minnebeløpet ikke er nøyaktig. Hvis du vil sjekke minnebruk etter prosess, kan du lese hvordan du kan sjekke minnebruk per prosess på Linux.

VSZ: Viser det virtuelle minnet som brukes av prosessen.

RSS: Resident Set Size. Viser minnet okkupert av en prosess i RAM -minnet (ikke i bytte).

START: Denne kolonnen viser når prosessen startet.

TID: CPU -bruk av prosess eller tråd, økt hver gang systemklokken tikker, og prosessen eller tråden er funnet å kjøre

KOMMANDO: Dette er det samme som den tidligere forklarte CMD -kolonnen.

Stat: Kolonnets statistikk viser kode for prosessen. Mulig kodestatistikk forklart på PS Man -siden er:

  • D Uavbrudds søvn (vanligvis io)
  • Jeg Tomgangskjernetråd
  • R Kjører eller kjørbar (på Kjørø)
  • S Avbruddbar søvn (venter på at en hendelse skal fullføres)
  • T stoppet av jobbkontrollsignal
  • t stoppet av feilsøking under sporingen
  • X død (skal aldri sees)
  • Z nedfelt ("zombie") prosess, avsluttet, men ikke høstet av foreldrene
  • < høy prioritet (ikke hyggelig for andre brukere)
  • N Lav prioritet (hyggelig for andre brukere)
  • L har sider låst i minnet (for sanntid og tilpasset IO)
  • s Session Leader
  • l er flertrådet (ved hjelp av clone_thread, som nptl pthreads gjør)
  • + er i forgrunnen prosessgruppe.

Viser en spesifikk brukerprosesser ved hjelp av PS:

Hvis du vil sjekke bare prosesser utført av en bestemt bruker (effektiv bruker), kan du bruke -u flagg; forklart tidligere uten flere flagg, etterfulgt av brukernavnet hvis prosesser du vil liste opp. Dette vil vise den effektive brukeren, hvis tillatelser brukes til å kjøre prosessen, men ikke brukeren som ringte prosessen (ekte bruker).

Merk: Hvis du ikke vet hva effektive og virkelige brukere er, er forklaringen på slutten av denne delen.

Følgende eksempel viser prosesser for brukeren Linuxhint Som en effektiv bruker.

$ ps -u linuxhint

Hvis du i stedet for å sjekke effektive brukere, vil du sjekke prosesser som er utført som ekte brukere, bare bruk en kapital U i stedet.

$ ps -u linuxhint

Effektive brukere vs virkelige brukere:

Den virkelige bruker -IDen representerer brukeren som utfører en prosess. For eksempel brukeren som ringer et program i terminalen. Den effektive bruker -IDen representerer brukeren hvis tillatelser brukes til å utføre et program. Dette er aktuelt, for eksempel når en bruker kjører et program med setuid. Det samme skjer med grupper, og vi kan identifisere effektive og virkelige grupper. Hvis du ikke forstår dette emnet, kan du lese Setuid, Setgid Tutorial.

Viser en spesifikk brukerprosesser ved hjelp av PS:

Hvis du vil vise virkelige gruppeprosesser, en kapital -G etterfulgt av gruppen vil vise den.

$ ps -g root

Hvis du vil vise effektive grupper, kan du legge til -g flagg etterfulgt av den effektive gruppen.

$ ps -g root

Viser prosesser hierarki:

Flagget -skog lar deg vise prosesser som viser hierarki og tilhørende prosesser som vist på skjermbildet nedenfor.

$ ps -axu -skog

Vis prosesser av TTY:

Du kan også bruke PS -kommandoen til å vise hvilke prosesser som ble startet av en spesifikk terminal, eller til hvilke terminalprosesser som hører hjemme. Du kan implementere det ved å legge til -t flagg etterfulgt av TTY du vil identifisere, som vist i eksemplet nedenfor.

$ ps -t tty1

Viser ytterligere informasjon om prosesser:

Det er forskjellige PS -versjoner: UNIX, BSD og GNU -versjoner. Denne opplæringen er optimalisert for UNIX -versjonen. Du kan vise BSD -versjonen med tilleggsinformasjon ved å legge til -l flagg som vist på skjermbildet nedenfor. Det vil legge til nye kolonner med tilleggsinformasjon.

$ ps -l

Som du kan se, er de nye kolonnene UID, PPID, PRI, NI og WCHAN.

Uid: Viser IDen til brukeren som utførte prosessen.

PPID: Viser PID -overordnet prosess.

Pri: Viser prosessprioriteten (kjerne)

Ni: Viser prosessprioriteten (brukerområdet)

Wchan: Viser navnet på kjernefunksjonen som prosessene sover.

Det er mye mer på kommandoen PS du kan lese på Man -siden eller på en neste opplæring Linux Hint vil gi ut på PS -kommandoen for avanserte brukere.

Konklusjon:

Kommandoen PS er en grunnleggende kommando En hvilken som helst Linux -bruker må vite hvordan du skal søke og forstå. Å lære å bruke og tolke produksjonen er en reell måte å innlemme tilleggskunnskap, som effektive og virkelige brukere og grupper.

Som vist i denne opplæringen, kan ethvert Linux -brukernivå enkelt lære å implementere denne kommandoen med alle tilgjengelige flagg og alternativer.

Jeg håper denne opplæringen var nyttig. Fortsett å følge Linux -hint for flere Linux -tips og opplæringsprogrammer.