2.1 proc
This exercise is optional.
Refer to the exercise policy for details.
Implement a basic UNIX-style command shell with the following
features:
Searches for command executables in a list of directories.
Allows redirection of program input & output to files.
Support redirection of IO to other processes.
Provides job control in the form of background-able (through Ctrl-Z) and foreground-able (through fg) processes.
Captures signals from child processes such as termination, hangup, and so on.