in reply to Backticks within child process

It would help if you pasted your output, and also what you expected to see.

I suspect you wanted to see something like:

hello [ps output] world hello [ps output] world hello [ps output] world

But instead you are seeing something like:

hello hello hello [ps output] [ps output] [ps output]world world world

You answered your own question- the 3 forks you did are running async.