Vis tråder ved hjelp av PS -kommandoen i Linux

Vis tråder ved hjelp av PS -kommandoen i Linux
I de moderne operativsystemene fungerer tråder som en populær programmeringsabstraksjon. Disse trådene deler ressurser som åpne filer, rom og minneadresser når dette skjer. Den unngår interprosess kommunikasjon (dyre IPC) kanaler og reduserer gaffeloverhead. Som et resultat utfører tråder en samtidig utførelsesmekanisme.

I Linux er tråder også kjent som LWP- eller lette prosesser. Disse trådene som er opprettet i programmet har en "trådgruppe -ID", det samme som programmets PID. Det er en individuell tråd -ID (TID) tildelt hver tråd. Planleggingstråder i Linux -kjernen deler noen få ressurser, som er standardprosesser.

I tillegg til å vise prosessen på prosessnivå som standard, kan klassiske kommandolinjeverktøy, for eksempel Top og PS, også vise informasjon om trådnivå. PS, Top og HTOP er klassiske kommandoer som viser informasjon om prosessnivå som standard. Du kan også se informasjon om trådnivå ved hjelp av de tidligere kommandoene. Denne guiden vil bare gå gjennom PS -kommandoen og forklare hvordan PS -kommandoen viser tråder i Linux.

Vis tråder ved hjelp av PS -kommandoen i Linux

Ved hjelp av PS -kommandoen kan du se trådene med mange filtre som PID (prosess -ID), applikasjonsnavn osv. Denne kommandoen fungerer ikke på BSD eller macOS, da det ikke er noe alternativ å vise at tråden og -t -parameteren har en annen betydning.

La oss starte med følgende kommando i terminalen for å liste opp alle trådene ved å bruke PS -kommandoen:

PS -elf

Vis tråder med PID

Her er standard syntaks for PS -kommandoer for å se trådene ved hjelp av PID -er:

ps -t -p
PS -t p
-T Liste opp alle tråder
-p Angir prosess -ID

Du kan se trådene for spesifikke PID -er. Følg den forrige standardsyntaksen og legg PID -nummeret som du vil vite trådene.

For eksempel bruker vi PID . Syntaksen er som følger:

ps -t -p 1904
PS -TP 1904

"Spid" -kolonnen viser tråd -ID -ene i forrige utgang. Og "CMD" -kolonnen representerer trådnavnene.

Vis tråder med applikasjonsnavn

Her er standard syntaks for PS -kommandoen for å se trådene ved hjelp av applikasjonsnavnet:

ps -t -c
Alternativ Beskrivelse
-T Liste opp alle tråder
-C Angir applikasjonsnavnet

La oss for eksempel finne ut tråden relatert til bash -applikasjonen. Her er den grunnleggende kommandoen:

ps -t -c bash

Vis tråder med filter

Standard syntaks for PS -kommandoen er å se trådene ved å bruke filteret som følger:

ps -e -t | grep
Alternativ Beskrivelse
-T Liste opp alle tråder
-e Viser alle prosesser
| Rør output til neste kommando
grep Det filtrerer innholdet ved hjelp av

Du kan filtrere innholdet gjennom applikasjonsnavnet. Skriv og utfør følgende kommando for å oppnå den:

ps -e -t | grep
ps -e -t | Grep Bash

Du kan også filtrere trådene ved hjelp av PID -ene deres:

ps -e -t | grep
ps -e -t | 1904

I forrige utgang kan du legge merke til at alle trådene har samme PID. Det betyr at alle de tidligere trådene er i samme prosess.

For å finne summen av alle løpstrådene i systemet, kan du utføre følgende kommando:

ps -eo nlwp | hale -n +2 | awk 'num_threads += $ 1 slutt print num_threads'

Du kan bruke "PGREP" eller "PIDOF" for å få prosessnavnets prosess -ID:

ps -o nlwp $ (pgrep )

Eller

ps -o nlwp $ (pidof )

Konklusjon

I Linux er tråder laget av et program med "trådgruppe -ID" som PID. Det er flere måter å vise trådene i Linux ved å bruke forskjellige kommandoer. I denne guiden forklarte vi de forskjellige metodene for å se trådene ved hjelp av PS -kommandoen.

Det er en fordel å bruke PS -kommandoen fordi den viser deg alle detaljene du vil ha. Du kan filtrere og se trådene ved hjelp av PID -ene, applikasjonsnavnet osv. Du kan også overvåke trådtellingen gjennom PS -kommandoen.