- CS-A0100
- 2. Ohjelmat ja prosessit
- 2.2 Prosessilistaus
Prosessilistaus¶
Tutkitaan hiukan prosessilistausta. Aja ensin komento ps f
; tämän pitäisi näyttää sinun omat prosessisi kivasti puumaiseksi hierarkiaksi piirrettynä. Luultavasti sinulla on käynnissä lähinnä vain komentotulkki ja sen lapsiprosessina ps f
. Komentotulkin nimi on yleensä bash
tai zsh
. Tuloste siis näyttää joltain tämän kaltaiselta:
PID TTY STAT TIME COMMAND
123456 pts/12 Ss 0:00 -bash
123457 pts/12 R+ 0:00 \_ ps f
Ei kannata hämääntyä, jos listauksessa näkyy muutakin, etenkin, jos sinulla on jossain unohtunut ylimääräisiä pääteohjelmia tai muita istuntoja auki. Yritä kuitenkin löytää tulosteesta tämä oikea osuus. Tulosteessa näkyy seuraavat tiedot:
PID
-sarakkeessa on prosessin tunniste. Nämä ovat juoksevia numeroita yhden koneen sisällä, joten ei kannata yllättyä, jos sinun koneellasi prosessin tunnisteet ovat jotain muuta.TTY
-sarakkeessa on päätteen tunnus. Tässä molemmat prosessit pyörivät saman pääteohjelman sisällä, joten päätteen tunnus on sama. Jälleen sinun koneellasi päätteen tunnukset voivat olla jotain muuta, mutta molempien rivien kohdalla pitäisi näkyä sama päätteen tunnus.COMMAND
-sarakkeessa näkyy ajattu komento. Lisäksi tässä sarakkeessa on graafisesti esitetty, millaisen hierarkian prosessit muodostavat: komentops f
on komentotulkinbash
lapsiprosessi.
Kokeillaan luoda sisäkkäisiä prosesseja. Käynnistä komento bash
, jolloin saat komentotulkin sisälle toisen komentotulkin. Anna nyt komento ps f
, prosessien hierarkian pitäisi näyttää suunnilleen tältä:
123456 pts/12 Ss 0:00 -bash
123457 pts/12 S 0:00 \_ bash
123458 pts/12 R+ 0:00 \_ ps f
Tässä siis alkuperäinen bash
jäi taustalle odottamaan. Sen lapsiprosessi bash
otti vastaan käyttäjän syöttämän komennon ps f
ja käynnisti itselleen edelleen uuden lapsiprosessin.
Poistu nyt komennolla exit
uudesta komentotulkista ja anna komento ps f
ja tilanteen pitäisi näyttää alkuperäiseltä:
PID TTY STAT TIME COMMAND
123456 pts/12 Ss 0:00 -bash
123457 pts/12 R+ 0:00 \_ ps f
Kokeillaanpa seuraavaksi luoda vähän lisää prosesseja…