Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Interrupt Handling

by anshumangoyal (Scribe)
on Sep 02, 2012 at 10:03 UTC ( #991256=perlquestion: print w/replies, xml ) Need Help??
anshumangoyal has asked for the wisdom of the Perl Monks concerning the following question:

I have a number of scripts which are controlled by a main script ( Main Script Forks a process to run other scripts in different process and manages this process. While sending interrupt, i have written a interrupt handler in This handler prints "Wait I am killing". Now when I pass on an interrupt to my main program (while it is running another childs), this message is not printed once but many times (at-least the number of times the number of processes are running. Cannot understand why it is doing so.

Replies are listed 'Best First'.
Re: Interrupt Handling
by zentara (Archbishop) on Sep 02, 2012 at 10:16 UTC
    You havn't shown code, but it is likely you need a localized SIG handler in your children.
    #!/usr/bin/perl $SIG{INT} = sub { print "Caught zap in $$\n"; exit }; if ( my $pid = fork() ) { print "Parent Start\n"; sleep 5; local $SIG{INT} = sub { print "Parent $$ ignoring zap\n" }; kill 2 => $pid, $$; sleep 10; print "Parent exit!\n"; } else { print "Child start\n"; sleep 10; print "Child exit!\n"; }

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://991256]
Approved by Corion
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2017-05-27 22:45 GMT
Find Nodes?
    Voting Booth?