- the cd command: cd , cd, cd -
- prompt displays the current working dir
- ^C
- ^Z, fg, bg
- home folder to "~"
signals.script is in tests folder.
Run the following commands
$ git clone https://github.com/Renee7547/rshell.git
$ cd rshell
$ git checkout hw3
$ make
$ bin/rshell
They are in rshell/tests
- In real bash, we run "cat", "^Z", "bg", "pwd"(any command) in order, the "pwd"(any cmd) run without "cat" running; But in my program, "cat" and "pwd"(any command) run at the same time.
- when multiple processes were sent to the background, we should use "fg" to run them one by one. So we should reserve the pid(s) to a list, and the stoped pid(s) to another list.
- when "bg" was used, I could still run "^C" and "^Z" to modify the bg process, while they are not supposed to influence the background process. So I ignore SIGINT and SIGTSTP in child process.