Unit 6: Processes and services · Lesson 4 of 6 · 14 min

Signals

kill sends a numbered signal. Learn which one to send and who you can send it to.

mission

You are
You are practising process control before touching anything real.
Situation
Stopping the wrong process, or stopping it the wrong way, can corrupt data.
Goal
Start a harmless process, stop it politely and see what you are not allowed to stop.
01

Start and stop your own process

learner@root-lab
sleep 600 &
[1] 417
ps -o pid,user,args -p 417
    PID USER     COMMAND
    417 learner  sleep 600
kill 417
jobs
[1]+  Terminated              sleep 600

you should see Your PID will differ. kill with no option sent TERM and sleep ended.

sleep
Waits for a number of seconds. Built into Linux and macOS.
ps
Lists running processes. Built into Linux and macOS.
kill
Sends a signal to a process, usually to stop it. Built into Linux and macOS.
jobs
Lists the commands running in the background of this shell. A command built into the bash shell.
02

Name the signals

learner@root-lab
kill -l TERM
15
kill -l 9
KILL
kill -l 1
HUP

defender tip Try TERM first and give it a few seconds. KILL cannot be caught, so the process cannot save its work.

03

Try someone else's process

learner@root-lab
kill $(pgrep sync-agent)
bash: kill: (12) - Operation not permitted

you should see You can signal only your own processes. Stopping dana's listener is a job for root, after the evidence is saved.

pgrep
Finds running processes by name. Built into Linux and macOS.

What a defender takes away

  1. 1kill sends TERM, 15, by default.
  2. 2KILL, 9, is the last resort.
  3. 3Contain after you collect evidence, not before.

Questions

0 of 2 solved

Answer each one from what you find on your lab machine.

  1. Show hint

    kill -l TERM

  2. Show hint

    Try it.