Forskellige typer valgmuligheder:
PS-kommandoen accepterer forskellige muligheder.
- UNIX-muligheder - har førende bindestreg. $ ps -e
- BSD-indstillinger - har ikke førende bindestreg. $ ps aux
- GNU-indstillinger - har dobbelt førende bindestreg. $ ps --pid 1001
I dette eksempel vil jeg bruge UNIX og til tider GNU-indstillinger. Men BSD-indstillingerne er ens. For det meste kan du blande dem sammen uden problemer. Selvom du ikke kan blande nogle af mulighederne sammen, da det ikke fungerer. Så vær forsigtig.
Find alle kørende processer:
Med ps kommando kan du finde alle kørende processer på din maskine.
Brug ps som følger for at finde alle kørende processer med ps,
$ ps -efSom du kan se, er UID (bruger-id), PID (proces-id), PPID (forældreproces-id), CMD (kommando, der bruges til at køre processen) og nogle andre oplysninger om alle kørende processer vises.
Du kan liste alle kørende processer med forskellige ps valgmulighedskombination. De viser forskellige oplysninger om de kørende processer. Du kan faktisk fortælle ps for at vise specifikke oplysninger, som vi kommer til i det senere afsnit.
$ ps -eSom du kan se, ps -e viser PID, TTY (terminalnummer), TID (procestid) og CMD af de kørende processer. Det er meget mindre information end tidligere.
$ ps -ef
Det viser en masse information om de kørende processer, men nogle af kolonnerne som f.eks C (processorudnyttelse), SZ (størrelse på fysiske sider), RSS (beboers indstillet størrelse), PSR (processor, som processen i øjeblikket er tildelt til), STIME (det tidspunkt, hvor processen startede) osv. vises ikke. Så det er lidt mere kompakt end ps -eF.
En anden variant af ps,
$ ps -elyDenne viser dig UID (bruger ID), PRI (nuværende prioritet for processen), NI (nice værdi) så godt. Så det er virkelig praktisk.
Gør ps-navigation let:
Et typisk Linux-system har en masse processer, der kører i baggrunden. Så output af ps kommandoen er meget lang. Det er sværere at finde nyttige oplysninger der. Men vi kan bruge en personsøger som f.eks mindre at kigge efter processerne lidt lettere.
Du kan bruge mindre personsøger som følger:
$ ps -ef | mindre
Resultatet af ps åbnes med mindre.
Nu kan du bruge
Du kan også søge efter specifikke nøgleord her. Dette er virkelig nyttigt til at finde de processer, du leder efter.
Lad os sige for at søge efter processer acpi, skriv nøgleordet som følger i mindre personsøger.
/ acpiNu skal du trykke på
Som du kan se, er processen med nøgleordet acpi er fremhævet.
Du kan også trykke på n og s taster for at gå til henholdsvis næste og forrige kamp (hvis tilgængelig).
Som du kan se, trykkede jeg n til og den næste proces med nøgleordet acpi er fremhævet.
Tryk på for at gå ud af personsøgeren q.
Vælg manuelt kolonner, der skal vises i ps:
Det ps -e / ps -ef / ps -eF etc-kommandoen viser nogle standardkolonner. Men hvis du vil, kan du bede ps om at vise dig bestemte kolonner eller tilføje yderligere kolonner til standardsættet med kolonner.
Lad os for eksempel sige, at du kun vil se % MEM (procent hukommelsesforbrug), PID (proces-id) og UID (proces ejer-id) og KOMMANDO (proceskommando), kør derefter ps som følger:
$ ps -e -o% mem, pid, uid, commSom du kan se, viste ps kun de oplysninger, som jeg bad om. Intet mere, intet mindre.
Kolonnens nøgleord, der bruges her, er% mem (for% MEM), pid (for PID), uid (for UID), comm (for COMMAND). ps understøtter mange nøgleord. Du kan finde hele listen på mandsiden til ps.
Åbn bare mandsiden på ps med følgende kommando og naviger til STANDARDFORMATSPECIFIKATIONER sektion som vist i skærmbilledet nedenfor.
$ mand ps
Hvis du vil vise yderligere kolonner sammen med standardsættet med kolonner, kan du bruge -O mulighed for at specificere de kolonner, du vil se.
For eksempel,
$ ps -ef -O% cpuSom du kan se, tilføjede jeg % CPU og % MEM kolonne sammen med standardkolonnerne i ps -ef kommando.
Sortering af output fra ps-kommando:
Du kan også sortere output af ps efter en hvilken som helst specifik kolonne eller kolonne. Du kan sortere output af ps i stigende eller faldende rækkefølge afhængigt af dit krav.
For at sortere output af ps ved hjælp af en enkelt kolonne kan du bruge ps som følger:
$ ps -ef --sort = (+ | -) kolonnekodeNogle eksempler vil gøre det klarere.
Lad os sige, at du vil sortere processerne afhængigt af hvor længe processen kører i stigende rækkefølge. Du kan køre ps som følger:
$ ps -ef --sort = + tidEller
$ ps -ef - sort = tidBEMÆRK: Standard er sortering i stigende rækkefølge. Så du kan udelade + underskriv hvis du vil.
Som du kan se, sorteres output i stigende rækkefølge efter TID kolonne.
Lad os igen sige, at du vil sortere processerne afhængigt af hvor længe processen kører i faldende rækkefølge. Derefter ville ps-kommandoen være:
$ ps -ef - sort = -tidSom du kan se, vises de processer, der kører længst først.
Hvis du vil sortere efter flere kolonner, skal du blot tilføje kolonnerne som følger:
$ ps -ef --sort = tid, -% mem,% cpuHvor skal man gå hen?
Jeg har dækket det grundlæggende i ps-kommandoen. Nu skal du være i stand til at lære mere om ps-kommandoen fra mandsiden til ps.
Du kan få adgang til man-siden på ps som følger,
$ mand psFor eksempel kan du finde en bestemt proces, hvis du ved, at det er PID ved hjælp af ps som følger:
$ ps -O% mem,% cpu -p 2060BEMÆRK: Her, 2060 er procesens PID.
Du kan også søge efter processer, der ejes af en bestemt bruger eller gruppe osv.
For eksempel, for at finde alle kørende processer for din login-bruger skal du køre ps som følger:
$ ps -O bruger,% mem,% cpu -U $ (whoami)BEMÆRK: Du kan erstatte $ (whoami) med ethvert brugernavn, du vil angive, hvilke processer der kører som den bruger.
Så det er sådan, du bruger ps-kommando til at finde kørende processer på Linux. Tak, fordi du læste denne artikel.