Perl alarm 函数

  • 描述

    alarm 设置“警报”,使当前进程在EXPR秒内接收到SIGALRM信号。如果省略EXPR,则使用$_的值。实际的时间延迟并不精确,因为不同的系统以不同的方式实现警报功能。实际时间可能比请求值多或少一秒。您一次只能设置一个闹钟计时器。如果定时器已经在运行,并且您对警报功能进行了新的调用,则警报定时器将重置为新值。通过将值指定为0,可以在不设置新计时器的情况下重置正在运行的计时器。
  • 句法

    以下是此函数的简单语法-
    
    alarm EXPR
    
    alarm
    
  • 返回值

    该函数返回整数值,即。前一个计时器剩余的秒数。
  • 示例

    以下是显示其基本用法的示例代码
     
    eval {
       local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
       alarm $timeout;
       $nread = sysread SOCKET, $buffer, $size;
       alarm 0;
    };
    if ($@) {
       die unless $@ eq "alarm\n";   # propagate unexpected errors
          # timed out
    } else {
       # didn't
    }