Ero sivun ”Prosessi” versioiden välillä
Djp (keskustelu | muokkaukset) 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]] |
Versio 23. elokuuta 2007 kello 01.30
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.