På denne siden

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 kill virker 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.