A couple of days ago I was playing around with strace and bash on a Linux box. My goal was to get a better understanding of Unix shells and how they operate at a systems level. Happily launching commands inside the bash process and watching the output of strace it suddenly struck me: "Wait! Where is fork? It's a system call! strace is supposed to show this! Where is it?" Nowhere in the strace output was a call to fork(2) to be found.