I Linux kalles en kjørende forekomst av et program prosess. Noen ganger, når du arbeider på 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 prosessene som kjører, med ps
, pstree
, og top
er de mest brukte.
Dette artikkelen forklarer hvordan du bruker kommandoen ps
til å liste opp nåværende prosesser og vise informasjon om disse prosessene.
Hvordan bruke ps kommando #
Den generelle syntaksen for ps
-kommandoen er som følger:
Av historiske og kompatibilitetsmessige grunner godtar kommandoen ps
flere forskjellige typer alternativer:
- UNIX-stilalternativer, innledet med ett enkelt bindestrek.
- BSD-stilalternativer, brukt uten bindestrek.
- GNU lange alternativer, innledet av to bindestreker.
Ulike alternativtyper ca n være blandet, men i noen spesielle tilfeller kan konflikter vises, så det er best å holde seg til en alternativtype.
Alternativene BSD og UNIX kan grupperes.
På det enkleste 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 kommandoen ble påkalt.
Utgangen inkluderer informasjon om skallet (bash
) og prosessen som kjører i dette skall (ps
, kommandoen du skrev):
De fire kolonnene er merket PID
, TTY
, TIME
, og CMD
.
-
PID
– Prosess-ID. Vanligvis, når du kjørerps
-kommandoen, er den viktigste informasjonen brukeren leter etter, prosessen PID. Å vite PID lar deg drepe en feilfunksjon. -
TTY
– Navnet på den kontrollerende terminalen for prosessen. -
TIME
– Prosessens kumulative CPU-tid, vist i minutter og sekunder. -
CMD
– Navnet på kommandoen som ble brukt til å starte prosessen.
Utgangen ovenfor er ikke veldig nyttig, 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 av alternativer som kan brukes til å vise en bestemt gruppe prosesser og forskjellig informasjon om prosessen, men bare en håndfull er nødvendig i den daglige bruken.
ps
brukes oftest med følgende kombinasjon av alternativer:
BSD-skjema:
-
a
alternativet fortellerps
å 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 prosesser. - Alternativet
x
instruererps
til å liste opp prosessene uten en kontrollerende terminal. Dette er hovedsakelig prosesser som startes ved oppstartstid og kjører i bakgrunnen.
Kommandoen viser informasjon i elleve kolonner merket USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
og CMD
.
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-utnyttelsen av prosessen. -
%MEM
– Prosentandelen av prosessens bosatte innstillingsstørrelse til det fysiske minnet på maskinen . -
VSZ
– Virtuell minnestørrelse for prosessen i KiB. -
RSS
– Størrelsen på det fysiske minnet som prosessen bruker. -
STAT
– Prosesstilstandskoden, for eksempelZ
(zombie),S
(sovende) ogR
(kjører). -
START
– Tiden da kommandoen startet.
f
-alternativet forteller ps
å vise en trevisning av foreldre til barnprosesser:
ps
-kommandoen lar deg også sortere utdataene. Hvis du for eksempel vil sortere utdataene basert på minnebruk, bruker du:
UNIX-skjema:
-
-e
alternativet instruererps
å 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
.
Etikettene som ikke allerede er forklart, har følgende betydning:
-
UID
– Samme somUSER
, brukeren som kjører prosessen. -
PPID
– ID-en for foreldreprosessen. -
C
– Sam e som%CPU
, prosess-CPU-utnyttelse. -
STIME
– Samme somSTART
, tidspunktet da kommandoen startet.
Hvis du bare vil se prosessene som kjører som en bestemt bruker, skriver du inn følgende kommando, der linuxize
er brukerens navn:
Brukerdefinert format #
o
-alternativet lar deg spesifisere hvilke kolonner som skal vises når du kjører ps
-kommandoen.
For eksempel å skrive ut informasjon bare om PID
og COMMAND
, vil du kjøre en av følgende kommandoer:
Bruk av ps med andre kommandoer #
ps
kan brukes i kombinasjon med andre kommandoer gjennom piping.
Hvis du vil vise utdataene fra ps
-kommandoen, en side av gangen rør den til less
-kommandoen:
Utgangen til ps
-kommandoen kan filtreres med grep
. For eksempel, for å bare vise prosessen som tilhører rotbrukeren, vil du kjøre:
Konklusjon #
ps
er en av de mest brukte kommandoene når du feilsøker problemer på Linux-systemer. Den har mange alternativer, men vanligvis bruker de fleste brukere enten ps aux
eller ps -ef
for å samle informasjon om prosesser som kjører.
For mer informasjon om ps
, skriv man ps
i terminalen din.