PROTSESSID Linuxes

Iga protsess omab unikaalset numbrit.
Protsess saab luua uut protsessi.
Esimene protsess PID=1 on nimega init.
Protsessid kirjeldatakse süsteemi protsesside tabelis.
Igat protsessi kirjeldab infoblokk:

Protsesse saab vaadata käsuga ps
$ ps

Protsesside juhtimis käsud

K äivitame otsingu protsessi tagaplaanil(background) lisades rea lõppu sümboli &
grep -R "otsimemidagi" /&
[1] 21488
vaatame üle jooksvaid ülesandeid
$ jobs
[1]+ Running grep -R "otsimemidagi" / &
$ fg %1 # tõmbame protsessi esiplaanile
Käivitame protsessi muudetud prioriteediga:
nice -n 10 grep -R "otsimemidagi" /
vajutame Ctrl-Z, sellega peatame protsessi
^Z
[1]+ Stopped nice -n 10 grep -R "otsimemidagi" /
$ bg %1 # tõmbame protsessi tagaplaanile
[1]+ nice -n 10 grep -R "otsimemidagi" / &
$ kill %1 # Termineerime protsessi
$ jobs # Vaatame ülesandeid

[1]+ Terminated nice -n 10 grep -R "otsimemidagi" /
$ kill -9 %1 # Termineerime protsessi SIGKILL signaaliga
$ jobs # Vaatame ülesandeid

[1]+ Killed nice -n 10 grep -R "otsimemidagi" /

Protsesside prioriteedid

Protsessi prioriteeti käivitamisel saab muuta käsuga:
$ nice -n -10 grep -R "otsimemidagi" /& # vähendame prioriteeti
$ nice -n 10 grep -R "otsimemidagi" /&  #
suurendameprioriteeti
Normaalne prioriteet käivitamisel on 0. Kui number -n parameetri taga käsus nice on positiivne siis prioriteet suurendatakse ja see tähendab et selle täitmisele eraldatakse rohkem protsessori aega ja toimingule võib kuluda vähem aega. Ja vastupidi.
Näiteks:
$ nice -n 10 grep -R "otsimemidagi" /&
[1] 21488
Kontrollime:
$ ps -o pid,rtprio,ni,pri,pcpu,stat,comm

PID RTPRIO NI PRI %CPU STAT COMMAND
10650 - 0 19 0.0 Ss bash
21488 - 10 9 1.1 DN grep
21492 - 0 19 0.0 R+ ps

Muudame protsessi prioriteeti käigu peal:
$ renice -20 21488
21488: old priority 10, new priority -20
Kontrollime:
$ ps -o pid,rtprio,ni,pri,pcpu,stat,comm

PID RTPRIO NI PRI %CPU STAT COMMAND
10650 - 0 19 0.0 Ss bash
21488 - -20 39 2.0 D< grep
21563 - 0 19 0.0 R+ ps

Protsesside katkestused

------------------------------
#!/bin/bash
# traptest.sh
trap "echo 'Ei taha peatuda!'" SIGINT SIGTERM
echo "pid is $$"
while : # This is the same as "while true".
do
sleep 60 # This script is not really doing anything.
done

------------------------------
$ ./traptest.sh
pid is 23454
Ctrl-C # proovime peatada programmi signaaliga SIGINT
^CEi taha peatuda!
Ctrl-Z
[1]+ Stopped ./traptest.sh
$ kill %1 # proovime peatada programmi signaaliga SIGTERM
Terminated
Ei taha peatuda!

$ kill -9 %1 # proovime peatada programmi signaaliga SIGKILL
[1]+ Killed ./traptest.sh
Nüüd saime programmi peatada.