Alok Menghrajani

Security engineer at Square. Previously co-author of Hack and put the 's' in https at Facebook. Maker of CTFs.

Home | Contact me | Github | Twitter | Facebook

Writing a unix shell is a great way to familiarize with the concepts of process control and signaling.

As part of 15213 (introduction to computer systems), I implemented a shell with the following features:

  • quit, fg, bg and jobs built-in commands.
  • use of & (foreground / background jobs).
  • catch SIGCHILD, SIGINT and SIGSTOP signals.
  • source code + readme + shlab.pdf