Android

Ps-kommando i linux (listeprocesser)

Linux Command Line Tutorial | Learn the Bash Command Line | Linux Terminal Tutorial

Linux Command Line Tutorial | Learn the Bash Command Line | Linux Terminal Tutorial

Indholdsfortegnelse:

Anonim

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 antal kommandoer, som du kan bruge til at finde information om de kørende processer, hvor ps , pstree og top er de mest anvendte.

Denne artikel forklarer, hvordan man bruger ps kommandoen til at liste med de aktuelt kørende processer og vise oplysninger om disse processer.

Sådan bruges ps kommando

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

ps

Af historiske og kompatible årsager accepterer ps kommandoen flere forskellige typer muligheder:

  • UNIX-stilindstillinger, efterfulgt af et enkelt bindestreg.BSD-stilindstillinger, der bruges uden bindestreg. GNU-lange indstillinger, efterfulgt af to bindestreger.

Forskellige valgmuligheder kan blandes, men i nogle særlige tilfælde kan der forekomme konflikter, så det er bedst at holde sig til en valgfri type.

BSD- og UNIX-indstillinger kan grupperes.

I sin enkleste form, når det bruges uden nogen mulighed, vil ps udskrive fire kolonner med information til mindst to processer, der kører i det aktuelle shell, selve skallen og de processer, der kører i shell, når kommandoen blev påkaldt.

ps

Outputet indeholder information om shell ( bash ) og processen, der kører i denne shell ( ps , den kommando, du har skrevet):

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

De fire kolonner er mærket PID , TTY , TIME og CMD .

  • PID - Process-ID. Normalt, når du kører ps kommandoen, er den vigtigste information, som brugeren leder efter, processen PID. Når du kender PID'en, kan du dræbe en fejlfunktion. TTY - Navnet på den kontrollerende terminal for processen. TIME - Den samlede CPU-tid for processen, der vises i minutter og sekunder. CMD - Navnet på den kommando, der blev brugt til at starte processen.

Outputet ovenfor er ikke særlig nyttigt, da det ikke indeholder meget information. Den egentlige kraft af ps kommandoen kommer, når den lanceres med yderligere indstillinger.

ps kommandoen accepterer et stort antal indstillinger, der kan bruges til at vise en bestemt gruppe af processer og forskellige oplysninger om processen, men kun en håndfuld er nødvendig i den daglige brug.

ps bruges hyppigst med følgende kombination af indstillinger:

BSD form:

ps aux

  • Valgmuligheden a fortæller ps at vise alle brugers processer. 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 detaljerede oplysninger om processerne. x optionen instruerer ps at liste processerne uden en kontrolterminal. Det er hovedsageligt processer, der startes ved starttid og kører i baggrunden.

Kommandoen viser information i elleve kolonner mærket 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 forklaret PID , TTY , TIME og CMD etiketter. Her er en forklaring af andre etiketter:

  • USER - Brugeren, der kører processen. %CPU - CPU-udnyttelsen af ​​processen. %MEM - Procentdelen af ​​procesens beboer indstiller størrelse til den fysiske hukommelse på maskinen. VSZ - Virtuel hukommelsesstørrelse af processen i KiB. RSS - Størrelsen på den fysiske hukommelse, som processen bruger. STAT - STAT , såsom Z (zombie), S (sov) og R (kører). START - Det tidspunkt, hvor kommandoen startede.

f indstillingen fortæller ps at vise et træbillede af forældre til barn-processer:

ps auxf

ps kommandoen giver dig også mulighed for at sortere output. For eksempel til at sortere output baseret på hukommelsesforbruget, ville du bruge:

ps aux --sort=-%mem

UNIX form:

ps -ef

  • Valgmuligheden -e instruerer ps til at vise alle processer. -f er en liste med fuldformat, der indeholder detaljerede oplysninger om processerne.

Kommandoen viser information i otte kolonner mærket 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…

Etiketterne, der ikke allerede er forklaret, har følgende betydning:

  • UID - Samme som USER , den bruger, der kører processen. PPID - ID for overordnet proces. C - Samme som %CPU , processen CPU-udnyttelse. STIME - Samme som START , det tidspunkt, hvor kommandoen startede.

Hvis du kun vil se de processer, der kører som en bestemt bruger, skal du skrive følgende kommando, hvor linuxize er brugerens navn:

ps -f -U linuxize -u linuxize

Brugerdefineret format

o indstillingen giver dig mulighed for at specificere, hvilke kolonner der vises, når du kører ps kommandoen.

For eksempel for kun at udskrive oplysninger om PID og COMMAND , kører du en af ​​følgende kommandoer:

ps -efo pid, comm

ps auxo pid, comm

Brug af ps med andre kommandoer

ps kan bruges i kombination med andre kommandoer gennem rørledning.

ps -ef | less

Outputet fra ps kommandoen kan filtreres med grep . For eksempel for kun at vise den proces, der hører til rodbrugeren, du vil køre:

ps -ef | grep root

Konklusion

ps kommandoen er en af ​​de mest almindeligt 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.

ps terminal