Does anybody know if a parent process can be notified that its child has finished without being blocked in the function
You probably want
waitpid() instead of
waitpid(0, NULL, WNOHANG)
This will return the pid of a dead child, or
-1 immediately if there are none.