in reply to Task Partitioning and Parallelism Advice needed

If the the main program gets a signal, the children, and the zip grandchildren also get the signal, and the zip program can abort:
Control-C makes the terminal send a signal to the entire process group, not just to the main program (POSIX spec: INTR: Special character on input, which is recognized if the ISIG flag is set. Generates a SIGINT signal which is sent to all processes in the foreground process group for which the terminal is the controlling terminal. - see also man stty). I don't see any problem. What exactly are you trying to do and why?
Should I look into another process manager that allows for forks/execs within children (Parallel::MPM::Prefork seems to), use a Perl module to zip, or something completely different.
Just don't send SIGINT to the entire group...

("Doctor, it hurts when I do this!" "Well, then don't do that!" :)

Replies are listed 'Best First'.
Re^2: Task Partitioning and Parallelism Advice needed
by co-jimbob (Initiate) on Dec 09, 2014 at 17:01 UTC

    Thanks for the perspective.

    What I left out is that I'm trapping most signals (including SIGINT) so that the program doesn't get signaled/stopped in the middle of something important (like an incomplete zipfile). When the program gets to a good stopping point, then it exits.

    What I ended up using was Archive::Zip. This is faster, cleaner, and doesn't need to have the children fork/exec