此功能设置"警报",使当前进程在EXPR秒内接收到SIGALRM信号。如果省略EXPR,则使用$_的值。
实际的时间延迟并不精确,因为不同的系统实施警报功能的方式有所不同。实际时间可能比所请求的值多或少一秒。您一次只能设置一个闹钟计时器。如果计时器已经在运行,并且您对警报功能进行了新的调用,则警报计时器将重置为新值。通过将值指定为0,可以重置正在运行的计时器,而无需设置新计时器。
以下是此函数的简单语法-
alarm EXPR alarm
该函数返回整数值,即。前一个计时器剩余的秒数。
以下是显示其基本用法的示例代码-
#!/usr/bin/perl 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 }
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)