According to perlipc,
On most Unix platforms, the CHLD (sometimes also known as CLD) signal has special behavior with respect to a value of 'IGNORE' . Setting $SIG{CHLD} to 'IGNORE' on such a platform has the effect of not creating zombie processes when the parent process fails to wait() on its child processes (i.e. child processes are automatically reaped). Calling wait() with $SIG{CHLD} set to 'IGNORE' usually returns -1 on such platforms.
The alternative is to do something called "double forking", at least on unix. I'm not sure on the details, but a Super Search or a Google search for this should give you some info.
But really, in this case, friedo's response is probably the best for you.
In reply to Re^3: Long running task from web app
by ikegami
in thread Long running task from web app
by astroboy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |