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 timing races this model does not, and real handlers run code this one does not. What it does get right is the decision itself: what each process does with each signal.

Nothing here touches a process on your machine. There is no separate command-line tool for this one. The same state machine is the Rust library this page is built from.