Exercise 1: Job Numbers vs. PIDs — Possible Solution ===================================================== Terminal 1: $ sleep 1000 | cat & [1] 60412 $ jobs -l [1]+ 60411 Running sleep 1000 60412 | cat & $ echo $$ 60380 Job number: 1 PIDs: 60411 (sleep) and 60412 (cat) — one job, two processes Shell PID: 60380 Terminal 2: $ kill %1 bash: kill: %1: no such job $ kill 60411 60412 # use the PIDs instead (or: pkill -f "sleep 1000") Back in terminal 1, the next prompt reports the job as finished. Why %1 fails in the second terminal: job numbers are kept by the shell that started the job. The second terminal runs a different shell with its own, empty job list, so "%1" means nothing there. PIDs are assigned by the kernel and are valid from anywhere (for processes you have permission to signal). WHY THIS WORKS AS AN ANSWER ------------------------------ It shows a single job containing two PIDs, and demonstrates the scope difference directly with the "no such job" error. PIDs will differ.