in reply to semi-finite background process

You can use fork() but be sure to close STDOUT in your child process or else the parent will wait on the child. This worked for me in a similar situation.