in reply to Re^2: fork, but not waiting on children
in thread <solved> fork, but not waiting on children

Glad to see you figured it out, and it's working. I started to play around with a proof of concept, and then I went looking for some nice way to do it (hiding the nasty flags under the hood). I found a very promising module: Proc::Simple. It looks like something that could be useful to you.

As for the zombies, don't worry: if a parent terminates without getting the child exit status (without wait()ing for the child), the init process will wait() for the child instead, so it does not become a zombie. You can look at the notes section in man 2 wait, the whole thing is described there very precisely.

All the best.

regards,
Luke Jefferson

  • Comment on Re^3: fork, but not waiting on children

Replies are listed 'Best First'.
Re^4: fork, but not waiting on children
by Monk::Thomas (Friar) on Sep 25, 2014 at 08:06 UTC

    Thanks for the hint about Proc::Simple. I was hoping that maybe I could remove the 'sleep 1' in the parent process but unfortunately that is not the case. Still need to wait a bit before calling $proc->poll().

    For the moment I'll stay with manually doing the forking but if there's a bug or otherwise strange behavior it's good to know I can easily replace it with a generic solution.