Hver gang et program kjøres, oppretter kjernen en prosess knyttet til programmet. Enkelt sagt er en prosess en kjørende forekomst av et program i Linux.
Prosessen opprettet av kjernen blir referert til som 'Foreldreprosess‘. Prosesser avledet eller skapt fra den overordnede prosessen er kjent som 'Barneprosesser‘. En overordnet prosess kan bestå av flere underordnede prosesser som hver har en unik PID (Prosess-ID), men deler det samme PPID.
Du kommer kanskje også til å like:
I denne veiledningen utforsker vi ulike måter du kan bruke for å finne ut overordnede prosess-ID-er (PPID-er) eller prosesser på et Linux-system.
Et program som er lastet inn i minnet og kjører er kjent som en prosess. Når prosessen er startet, får prosessen et unikt nummer kjent som prosess-ID (
PID) som identifiserer den unikt i systemet. Prosessen kan refereres til når som helst ved å bruke sin PID. For eksempel til drepe en prosess, du må vite det PID først.I tillegg til det PID, er hver prosess tildelt en overordnet prosess ID (PPID) som viser hvilken prosess som skapte den. Dermed PPID er den PID av prosessens forelder.
For å sette dette i sammenheng, la oss anta prosess 5 med en PID av 5050 starter prosessen 6. Prosess 6 vil bli tildelt en unik PID som for eksempel 6670, men vil fortsatt bli gitt PPID av 5050.
Foreldreprosessen her er prosess 5 og barneprosessen er 6. Barneprosessen er tildelt en unik PID men PPID er den samme som PID for den overordnede prosessen (prosess 5)
En enkelt forelder kan starte flere flere underordnede prosesser, hver med en unik PID, men alle deler den samme PPID.
Det er to hovedtilnærminger for å finne PPID av en kjørende prosess på et Linux-system:
EN pstree kommando er et kommandolinjeverktøy som viser kjørende prosesser som et tre, noe som gir en praktisk måte å vise prosesser i et hierarki. Den viser foreldre-barn-forholdet i et trehierarki.
Med -s
alternativet, den pstree viser alle de overordnede prosessene som kjører sammen med deres tilhørende underordnede prosesser og respektive PID-er.
$ pstree -s.
Fra utdataene kan vi se de overordnede prosess-ID-ene sammen med de underordnede prosess-ID-ene.
For demonstrasjon skal vi sjekke PPID til Mozilla Firefox sammen med hele prosesshierarkiet ved å bruke følgende kommando:
$ pstree -p | grep 'firefox'
Fra utgangen kan du se at PPID av Firefox er 3457 og resten er PID-er av barneprosesser.
For å vise bare PPID av Firefox og hopp over resten av utdata, pipe utdata til leder kommando med -1
for å vise den første linjen.
$ pstree -p | grep 'firefox' | hode -1.
Det andre alternativet for å finne PPID av en prosess er ps kommando, som er en mye brukt kommando som viser kjørende prosesser på et Linux-system.
Når det brukes med -ef
alternativet, den ps kommando viser alle de kjørende prosessene sammen med detaljene deres, for eksempel UID, PID, PPID, etc.
$ ps -ef.
For å begrense den og vise PPID av en bestemt prosess, for eksempel Firefox, Send meg -e
alternativet og rør utgangen til grep kommando som vist.
$ ps -e | grep 'firefox'
Nok en gang, fra utgangen, kan du se at PPID av Firefox er 3457.
I denne veiledningen har vi vist hvordan du kan finne PPID-er av prosesser som kjører på et Linux-system. Du kan bruke enten pstree kommandoen eller ps kommando å komme til samme mål.