http://qs321.pair.com?node_id=374034


in reply to Test::Cmd and forking

I ran into a similar problem myself in my own test code where I didn't want some END blocks to get executed in the child. There are several possibilities to avoid cleanup code when a forked child exits. I thought of a couple (I bet there's more than two ways to do this though). I'm not really satisfied with either of these though.

  1. Rather than exit or die in the child, exec something innocuous, e.g.:

    exec('/bin/true') or exec('perl','-e','')

  2. Another possibility which I thought of but did not test is to have the child send itself a SIGKILL (or maybe a SIGTERM) would be enough?)