Kotisivu | Edellinen sivu | Ylös | Seuraava sivu


3.6 Työnohjaus


Sen lisäksi, että UNIX:ssa voi monta ihmistä käyttää samaa konetta yhtaikaa, voi samalla käyttäjälläkin olla useita ohjelmia käynnissä samanaikaisesti.

Useimmiten päätteellä työskenneltäessä kuitenkin riittää, että yhden ohjelman voi keskeyttää hetkeksi, tehdä jotain muuta ja palata sitten takaisin ohjelmaan.

Tätä useiden samanaikaisten ohjelmien hallitsemista sanotaan työnohjaukseksi (job control).


Ohjelman keskeyttäminen ja palaaminen takaisin

Suurimman osan UNIX:n ohjelmista voi keskeyttää näppäinyhdistelmällä control-z. Tällöin suoritus palaa komentotulkkiin (ruutuun tulee komentotulkin kehote).

  • Alkuperäinenkin ohjelma on kuitenkin edelleen käynnissä! Se on vain "nukutettu" vähäksi aikaa.

Kun komentotulkissa on tehty halutut asiat (poistettu tiedosto, luettu ohjesivu...), voi nukutettua ohjelmaa taas jatkaa komennolla "fg" (ForeGround).

  • Joskus näyttö täytyy "puhdistaa" ohjelman jatkamisen jälkeen. Monissa ohjelmissa tämä tapahtuu painamalla control-l.

Huom! Normaalisti Pico ei anna nukuttaa itseään control-z:lla.

Ohjelmia voi olla kerralla nukkumassa useitakin. Tällöin fg herättää aina viimeisimmän nukutetun ohjelman.

Jos et halua herättää viimeisintä nukutettua ohjelmaa, antaa komento "jobs" numeroidun luettelon ohjelmistasi. Nyt "fg %n" herättää ohjelman, jonka numero listassa on n.

  • Toinen tapa herättää haluttu ohjelma on "%nimi", missä "nimi" on herätettävän ohjelman nimi.

Muista, että ohjelman nukuttaminen ei ole sama asia kuin ohjelmasta poistuminen. Jokainen nukutettu ohjelma täytyy myös herättää! Muuten logout-komento valittaa nukutetuista ohjelmista UNIX:sta poistuttaessa ilmoituksella "There are suspended jobs".


Ohjelmien "tappaminen"

Joskus jokin ohjelma jää kaikesta huolimatta jumiin. control-z:lla ohjelman saa kuitenkin yleensä nukutettua. Tämän jälkeen täytyy ohjelma vielä lopettaa pakkokeinoin eli "tappaa".

  1. Komennolla "ps" saat luettelon kaikista käynnissä olevista ohjelmista (tässä ei komento jobs kelpaa).
    proffa: ~% ps
    PID     TTY    STAT    TIME      COMMAND
    12873   ttyx1  T       0:00.07   elm
    13326   ttyx1  T       0:00.05   tin
    30246   ttyx1  S       0:00.34   -tcsh (tcsh)
    proffa: ~%
    
  2. Etsi listasta tapettava ohjelma ja katso sen "PID" (Process ID).
  3. Ohjelman voi nyt tappaa komennolla "kill PID", missä "PID" on listasta katsomasi luku.
    proffa: ~% kill 13326
    
    [1]   Terminated         tin
    proffa: ~%
    
  4. Tarkista uudella ps:llä, että ohjelma todella kuoli. Jos ei, kokeile käskyä "kill -9 PID".
    proffa: ~% ps
    PID     TTY    STAT    TIME      COMMAND
    12873   ttyx1  T       0:00.07   elm
    30246   ttyx1  S       0:00.34   -tcsh (tcsh)
    proffa: ~%
    



Kotisivu | Edellinen sivu | Ylös | Seuraava sivu
Sanahaku | Hakemisto