Ero sivun ”Prosessi” versioiden välillä

Siirry navigaatioon Siirry hakuun
4 761 merkkiä lisätty ,  23. elokuuta 2007
Raja-anturasta siirretty osittain päällekkäin bg:n ja kill:n kanssa, mutta tässä käsitellään kokonaisuutena.
Ei muokkausyhteenvetoa
(Raja-anturasta siirretty osittain päällekkäin bg:n ja kill:n kanssa, mutta tässä käsitellään kokonaisuutena.)
Rivi 2: Rivi 2:
*[[wikipedia:fi:Prosessi|Prosessi Wikipediassa]]
*[[wikipedia:fi:Prosessi|Prosessi Wikipediassa]]
Käynnissä olevia ohjelmia sanotaan prosesseiksi. Jotkut sovellukset saattavat käyttää useita prosesseja. Prosessit yksilöidään [[PID]]-numeroilla. Jokaista prosessia on myös mahdollista ajaa omalla prosessorilla (rinnakkaistus).
Käynnissä olevia ohjelmia sanotaan prosesseiksi. Jotkut sovellukset saattavat käyttää useita prosesseja. Prosessit yksilöidään [[PID]]-numeroilla. Jokaista prosessia on myös mahdollista ajaa omalla prosessorilla (rinnakkaistus).
=Prosessien tausta-ajo=
Otetaan esimerkkitilanne, jossa haluat ajaa kahta ohjelmaa päällekkäin. Toinen on graafinen videonkatseluohjelma [[gmplayer]] ja toinen on musiikintoisto-ohjelma [[xmms]]. Normaalisti konsolissa kirjoittaisit vain ohjelman nimen ja ohjelma käynnistyisi, jos tämä prosessi kuitenkin halutaan tausta-ajoon siten että samasta terminaalista voidaan käynnistää useita ohjelmia, tulee sen perään liittää "&"-merkki. Kun olet kirjoittanut ohjelman nimen "&"-merkin kanssa, tulostaa konsoli sinulle ohjelman "työnumeron" sekä PID:n joiden avulla voit myöhemmin esim. tappaa prosessin.
Ohjelman käynnistäminen tausta-ajoon
xmms &
Ohjelman ajaminen tulostaa seuraavaa [työnumero­][PID] ohjelmannimi
[1][3017] xmms
Noin, nyt voimme heti perään käynnistää toisen ohjelman - sen gmplayerin jonka alunperin halusimme tulevan samaan aikaan ajoon. Tämä tapahtuu aivan identtisellä tavalla:
gmplayer &
Tämä antaa jälleen kerran tulosteeksi työnumeron ja PID:n. On myös toinen tapa lähestyä tausta ajoa, jos olemme käynnistäneet ohjelman ilman "&"-merkkiä ja haluamme sen tausta-ajoon. Voit yksinkertaisesti käyttää näppäimistöä asettamaan käynnissä olevan prosessin (joka tukkii terminaalin) pysähdyksiin painamalla CTRL+Z tämän jälkeen saat prosessin tausta-ajoon kirjoittamalla konsoliin [[bg]] %työnumero. Käytännössä ensin ohjelma pysäytetään ja sen jälkeen asetetaan tausta-ajoon. Esimerkki alla:
Pysäytetään ohjelma xmms, joka on käynnistetty ilman "&"-merkkiä
xmms
Painetaan konsolen ollessa aktiivinen ikkuna '''Ctrl+z'''
Konsoliin tulee teksti, joka kertoo prosessin työnumeron, tilan sekä nimen
[1]+ Stopped xmms
Nyt asetamme ohjelman tausta-ajoon, katsomme työnumeron edellä tulevasta tulosteesta
bg %1
Prosessin saa myös nostettua etualalle painamalla "%työnumero" tai "[[fg]] %työnumero" Noniin, nyt osaamme asettaa prosessit tausta-ajoon ja käynnistää kaksi ohjelmaa peräkkäin. Entä se tilanne kun haluamme ajaa kymmeniä ohjemia päällekäin, emmekä muista suoraan ohjelmien työnumeroita. Komento "jobs"-auttaa tässä tilanteessa, kirjoittamalla terminaaliin tuon komennon, saamme listauksen kaikista töistämme ja niiden työnumeroista. Tämän jälkeen komennolla"bg %n" saamme asetettua ohjelmat tausta-ajoon.
=Ohjelmien tappaminen=
Ohjelmien tappaminen on seuraava mielenkiinnon aiheemme. On todennäköistä, että joskus GNU/Linuxia käyttäessäsi ohjelma jää jumiin ja sinulla ei ole muuta keinoa kuin tappaa tämän ohjelman prosessi. Prosessin tappaminen tapahtuu komennolla "[[kill]] %työnumero" tai "kill PID". Ohjelman PID:n saat esimerkiksi komennolla "pstree -p" tai [[top]], jotka käynnistävät ohjelman. Ottakaamme esimerkiksi PID:n hakemisessa ohjelma pstree ja tappakaamme jumittunut xmms-prosessi.
Katsotaan käynnissä olevien prosessien määrä
jobs
Tulostus näyttää tämäntapaiselta
[1]+ running [3333] xmms
[2]+ running [3434] gkrellm
[3]+ running [3344] gmplayer
Tapetaan prosessi työnumeron mukaan (gkrellm)
kill %2
Tuloste näyttää tämäntapaiselta
[2]+ exit 1 gkrellm
Otetaan pstree-tuloste PID:n mukaan ja tapetaan PID:n avulla xmms-prosessi
pstree -p
Tuloste (tulostetta kutistettu)
fluxbox(428)-+-Eterm(603)---bash(606)---irssi(7+
                                            |-Eterm(1215)---bash(1218)---irssi+
                                            |-Eterm(7868)---bash(7871)
                                            |-Eterm(11586)---bash(11590)---irs+
                                            |-Eterm(21647)---bash(21650)-+-pst+
                                            |                            `-wis+
                                            |-MozillaFirebird(20617)---Mozilla+
                                            |-dcgui-qt(21267)---dcgui-qt(21270+
                                            |-soffice.bin(21722)---soffice.bin+
                                            |-ssh-agent(466)
                                            |-wish(9520)---wish(9521)---wish(9+
                                            `-'''xmms(25068)'''---xmms(25070)-+-xmms+
                                                                        |-xmms+
                                                                        |-xmms+
                                                                        |-xmms+
                                                                        `-xmms+
Katsotaan PÄÄLLIMMÄISEN xmms-prosessin PID ja tapetaan se (prosessi lihavoitu)
kill 25068
Nyt prosessi on kuollut ja ohjelman pitäisi olla sulkeutunut.
==Katso myös==
*[[bg]], lisää tietoa tausta-ajosta
*[[kill]], lisää tietoa ohjelmien tappamisesta


[[Luokka:Käsitteet]]
[[Luokka:Käsitteet]]
604

muokkausta

Navigointivalikko