Hva er en prosess?
En prosess er et program som kjører. Hver prosess har en ID (PID), en bruker og en
tilstand. Du håndterer prosesser med ps, top, kill og lignende.
ps — list prosesser
ps viser et øyeblikksbilde av kjørende prosesser.
$ ps
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
1456 pts/0 00:00:00 ps
For alle prosesser på systemet er standardvalget flaggene aux:
$ ps aux
| Flagg | Betydning |
|---|---|
aux |
alle prosesser, alle brukere, detaljert |
-ef |
alternativ måte å vise alle prosesser på |
Utdataen viser PID, bruker, CPU- og minnebruk, og kommandolinjen.
Søk etter en bestemt prosess ved å pipe til grep:
$ ps aux | grep sshd
(| er en pipe — den sender utdataen fra ps inn i grep, som beholder
bare linjene som inneholder sshd. Pipes får en grundig gjennomgang i
kapittel 13; grep i kapittel 8.)
Sorter listen etter minnebruk (størst først):
$ ps aux --sort=-%mem
top — direkte prosessliste
top viser prosesser som oppdateres live, sortert etter CPU-bruk. Trykk q
for å avslutte.
$ top
| Tast | Handling |
|---|---|
q |
avslutt |
k |
kill en prosess (spør om PID) |
M |
sorter etter minne |
P |
sorter etter CPU (standard) |
htop — vennligere overvåking i sanntid
htop er et interaktivt alternativ til top med en mer lesbar utforming,
farger og en rullbar liste.
$ htop
F10 avslutter (det gjør q-tasten også). htop er ikke installert som
standard på Ubuntu, Fedora eller Arch — installer det først:
$ sudo apt install htop # Ubuntu
$ sudo dnf install htop # Fedora
$ sudo pacman -S htop # Arch
watch — kjør en kommando gjentatte ganger
watch kjører en kommando på nytt hvert andre sekund og viser utdataen som
oppdateres på skjermen. Det er perfekt for å følge en verdi over tid:
$ watch free -h
$ watch uptime
Trykk Ctrl+C for å stoppe. -n <sekunder> endrer intervallet:
$ watch -n 5 df -h
kill — stopp en prosess
kill sender et signal til en prosess, vanligvis for å be den om å stoppe.
$ kill 1234
Hvis en prosess ignorerer forespørselen, eskaler signalet:
$ kill -9 1234 # SIGKILL: tvungen avslutning, ingen mulighet til opprydding
Finn PID-en først med pgrep:
$ pgrep sshd
5678
$ kill 5678
Bruk -9 bare som siste utvei — prosessen kan ikke lagre tilstanden sin.
Hvis du kjenner prosessnavnet i stedet for PID-en, kan pkill og killall
sende signaler etter navn:
$ pkill sshd
$ killall firefox
pkill matcher et navnemønster; killall matcher det nøyaktige
prosessnavnet. Begge godtar de samme signalene, så pkill -9 sshd fungerer
også. Vær forsiktig: de dreper alle prosesser som matcher, ikke bare én.
Grafisk alternativ: System Monitor / KSysGuard kan avslutte prosesser med høyreklikk, men
killvirker også på en headless-server.
uptime — hvor lenge har systemet kjørt
uptime viser hvor lenge systemet har kjørt, belastningen og innloggede
brukere.
$ uptime
10:22:31 up 3 days, 4:02, 2 users, load average: 0.04, 0.01, 0.00
De tre load average-tallene er et 1/5/15-minutters gjennomsnitt av kjørbare prosesser. Lavere er bedre.
free — minnebruk
free viser RAM- og swap-bruk.
$ free -h
total used free shared buff/cache available
Mem: 7.7Gi 2.1Gi 3.1Gi 201Mi 2.4Gi 5.2Gi
Swap: 2.0Gi 0B 2.0Gi
-h gir menneskelig lesbare størrelser. Se på available-kolonnen — det er
minnet systemet fortsatt kan dele ut.
systemctl — administrer tjenester
Tjenester (bakgrunnsprogrammer som kjører kontinuerlig) administreres med
systemctl, dekket i Kapittel 14 — Tjenester og logger.