Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Comment on

A "signal" is a way for your program to process "asynchronous" events. Meaning that you register a subroutine to be called when that event occurs. When you do this, you don't have to explictly keep checking that a particular event occured, the OS will call the sub when that event occurs.

kill ALRM, $$ doesn't make sense to me!

The below code shows a simple example of a handler for SIGALRM.

#!/usr/bin/perl -w use strict; #$|=1; #see note below... $SIG{'ALRM'} = 'timeout'; alarm(1); while (1){sleep(1);} sub timeout { print "stdout: Alarming!\n"; print STDERR "stderr: Alarming!\n"; exit(0); }; __END__ prints: Note: stderr msg comes first because "autoflush" for stdout wasn't turned on (stdout normally doesn't get "flushed" until program end). $|=1; turns autoflush on. stderr: Alarming! stdout: Alarming!
Kill $some_number makes no sense if $some_number is not a PID. kill ALRM doesn't have a PID. ALRM on my system is "numeric 14", but that is just shorthand for what the string ALRM means.

In reply to Re: Signals in Strawberry Perl: Name or number? by Marshall
in thread Signals in Strawberry Perl: Name or number? by bv

and:  <code> code here </code>

  • Please read these before you post! —
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (10)
    As of 2014-07-10 21:22 GMT
    Find Nodes?
      Voting Booth?

      When choosing user names for websites, I prefer to use:

      Results (216 votes), past polls