I Linux kaldes en kørende forekomst af et program proces. Lejlighedsvis, når du arbejder på en Linux-maskine, skal du muligvis finde ud af, hvilke processer der kører i øjeblikket.
Der er et antal kommandoer, du kan bruge til at finde information om de kørende processer med ps
, pstree
, og top
er de mest anvendte.
Dette artiklen forklarer, hvordan man bruger kommandoen ps
til at vise de aktuelt kørende processer og vise information om disse processer.
Sådan bruges ps-kommando #
Den generelle syntaks for ps
-kommandoen er som følger:
Af historiske og kompatibilitetsmæssige grunde accepterer ps
kommandoen flere forskellige typer valgmuligheder:
- UNIX-stilindstillinger forud for et enkelt bindestreg.
- BSD-stilindstillinger, der bruges uden bindestreg.
- GNU-lange indstillinger, efterfulgt af to bindestreger.
Forskellige valgmuligheder ca n være blandet, men i nogle bestemte tilfælde kan der opstå konflikter, så det er bedst at holde sig til en valgmulighedstype.
BSD- og UNIX-indstillinger kan grupperes.
På den enkleste måde når den bruges uden nogen indstilling, ps
udskriver fire kolonner med information til mindst to processer, der kører i den aktuelle skal, selve skallen og de processer, der kører i skallen, når kommandoen blev påberåbt.
Outputtet inkluderer information om skallen (bash
) og processen, der kører i denne shell (ps
, den kommando, du skrev):
De fire kolonner er mærket PID
, TTY
, TIME
og CMD
.
-
PID
– Proces-id’et. Normalt, når du kører kommandoenps
, er den vigtigste information, som brugeren leder efter, processen PID. At kende PID giver dig mulighed for at dræbe en fejlfunktion. -
TTY
– Navnet på den styrende terminal til processen. -
TIME
– Processens kumulative CPU-tid, vist i minutter og sekunder. -
CMD
– Navnet på kommandoen der blev brugt til at starte processen.
Outputet ovenfor er ikke særlig nyttigt, da det ikke indeholder meget information. Den virkelige styrke i kommandoen ps
kommer, når den startes med yderligere muligheder.
Kommandoen ps
accepterer et stort antal af indstillinger, der kan bruges til at vise en bestemt gruppe processer og forskellige oplysninger om processen, men der er kun brug for en håndfuld i den daglige brug.
ps
bruges oftest med følgende kombination af muligheder:
BSD-form:
-
a
valgmulighed fortællerps
at vise processerne for alle brugere. Kun de processer, der ikke er knyttet til en terminal, og processer fra gruppeledere vises ikke. -
u
står for et brugerorienteret format, der giver detaljeret information om processer. -
x
indstillingen bederps
om at vise processerne uden en kontrollerende terminal. Disse er hovedsageligt processer, der startes ved opstartstid og kører i baggrunden.
Kommandoen viser oplysninger i elleve kolonner mærket USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
og CMD
.
Vi har allerede forklaret PID
, TTY
, TIME
og CMD
. Her er en forklaring på andre etiketter:
-
USER
– Den bruger, der kører processen. -
%CPU
– CPU-udnyttelsen af processen. -
%MEM
– Procentdelen af procesens residente indstillede størrelse til den fysiske hukommelse på maskinen . -
VSZ
– Virtuel hukommelsesstørrelse for processen i KiB. -
RSS
– Størrelsen på den fysiske hukommelse, som processen bruger. -
STAT
– Processtilstandskoden, såsomZ
(zombie),S
(sovende) ogR
(kører). -
START
– Det tidspunkt, hvor kommandoen startede.
f
indstillingen fortæller ps
at vise en trævisning af forældre til underordnede processer:
Kommandoen ps
giver dig også mulighed for at sortere output. Hvis du f.eks. Vil sortere output baseret på hukommelsesforbrug, skal du bruge:
UNIX-form:
-
-e
indstillingenps
til at vise alle processer. -
-f
står i fuldformatliste, som giver detaljerede oplysninger om processerne.
Kommandoen viser oplysninger i otte kolonner mærket UID
, PID
, PPID
, C
, STIME
, TIME
og CMD
.
Etiketterne, der ikke allerede er forklaret, har følgende betydning:
-
UID
– Samme somUSER
, den bruger, der kører processen. -
PPID
– Id for den overordnede proces. -
C
– Sam e som%CPU
, proces-CPU-udnyttelse. -
STIME
– Samme somSTART
, det tidspunkt, hvor kommandoen startede.
For kun at se de processer, der kører som en bestemt bruger, skal du skrive følgende kommando, hvor linuxize
er brugerens navn:
Brugerdefineret format #
o
giver dig mulighed for at specificere, hvilke kolonner der vises, når kommandoen ps
køres.
For eksempel for kun at udskrive oplysninger om PID
og COMMAND
, vil du køre en af følgende kommandoer:
Brug af ps med andre kommandoer #
ps
kan bruges i kombination med andre kommandoer gennem piping.
Hvis du vil vise output fra kommandoen ps
, en side ad gangen rør det til kommandoen less
:
Outputtet fra ps
-kommandoen kan filtreres med grep
. For eksempel for kun at vise den proces, der tilhører rodbrugeren, skal du køre:
Konklusion #
ps
er en af de mest anvendte kommandoer ved fejlfinding af problemer på Linux-systemer. Det har mange muligheder, men normalt bruger de fleste brugere enten ps aux
eller ps -ef
til at indsamle oplysninger om kørende processer.
For mere information om ps
, skriv man ps
i din terminal.