Skip to content

# Unix Signal Visualizer

Send Unix signals to a small process tree and watch what happens: a signal can be handled, ignored, blocked (held pending until unblocked), or take its default action: terminate, dump core, stop, or continue. `SIGKILL` and `SIGSTOP` can't be caught.

Where `SIGPIPE` comes from in ordinary use: Pipeline Factory builds the sort of shell pipeline whose reader can exit before the writer has finished, which is the moment the kernel sends it.

About this lab3 paragraphs

The process table is drawn as an indented tree, so parentage is visible at a glance: kill a parent and you can watch `init` (pid 1) adopt its orphaned children as they re-indent under it. A tick-by-tick timeline exposes every kernel and process step.

The model is deliberately small: one tree, one delivery at a time, and the disposition table that decides the outcome. Real signal delivery has races this does not have, and real handlers run code this does not run. What it is faithful about is the decision, which is the part that is hard to read from a manual page.

Nothing here touches a process on your machine. The same state machine runs offline in the library the page is built from.