Ps-kommando i Linux (listeprocesser)

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 kommandoen ps, 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æller ps 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 beder ps 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åsom Z (zombie), S (sovende) og R (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 indstillingen ps 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 som USER, den bruger, der kører processen.
  • PPID – Id for den overordnede proces.
  • C – Sam e som %CPU, proces-CPU-udnyttelse.
  • STIME – Samme som START, 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.

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *