Features |
Tested? (Y/N) |
single-pipe command |
|
Multi-pipe command |
|
Pipe command with side effects |
|
setenv |
|
printall |
|
cd |
|
hm |
|
pwd |
|
exit |
|
CTRL-C |
|
Describe (here) each kind of error demonstrated by the test cases.
1. What is the process tree created when processing the command?
cat /usr/dict/words | fgrep cat | head –2
2. In the example above, what happens if the ``fgrep'' or ``head'' process finishes before the other processes? It is upto you how early termination of a piped process is handled - simply describe here what happens on early termination. (Check the pipe man page to see what happens when a process tries to read/write a closed pipe descriptor.)
3. In the example above, what happens when the user sends the interrupt signal to the (top-level) shell?
4. What is the process tree created by the following command?
pwd | cat
5. Even though your nutshell does not support I/O redirection of the commands it invokes, the I/O of nutshell can be redirected by the invoking Unix shell. Assuming that the output of nutshell is redirected
nutshell > script
what is the standard output of your shell before, during, and after the execution of the piped command above?
6. Does your shell ever need to explicitly close pipe descriptors?
7. How does your implementation handle built-in commands in pipes that have side effects?
setenv
PRINTER atlw146 | printenv PRINTER
.