A minimal UNIX-style shell I built in C for CPEN 212. This assignment made me more comfortable with programming with processes and signals.
- Includes:
- A job struct to track PIDs and states
- Signal handlers for SIGCHLD, SIGINT, SIGTSTP, SIGQUIT
- Foreground and background job logic
- Signal masking to avoid race conditions
If you want to try the shell out, clone the repo and build the shell using make then run it with ./crash.
You should see the crash> prompt… from there you can run commands, launch background jobs, suspend things, nuke them, and more!