Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

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.pl). 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 Main.pl. 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.

Comment on Interrupt Handling
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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://991256]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (12)
As of 2014-12-22 20:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (128 votes), past polls