a.out pid: 5
printf-- > Hello
int pidA = fork();
/ \
/ \
Child Parent
getpid():6 getpid():5
pidA:0 pidA:6
getppid():5 getppid():?
- Exec/fork (7-29)
- Read line (7-29)
- Split string (8-4)
- Use split string for parsing command line and isolate PATH (8-6, 8-11)
- Break out fork and introduce builtin (e.g.
exit,cd,echo,pwd,export) - Pipelining (using
|) (8-18) (8-25)
- More advanced parsing
- Job control
- Terminal management
- Line processing
- Write builtins.