$SIG{'ALRM'}でALARMを掴みたいんだけど・・・
[上に]
[前に]
[次に]
かかし
2000/06/06(火) 14:52:15
下記のスクリプトなんですが、
10秒たったらalarmと表示して終わると認識しているのですが、
実際にはすぐにtimeoutが実行されちゃいます。
なぜ?
#!/usr/local/bin/perl
$SIG{'ALRM'} = &timeout;
alarm(10);
while (1) {
1;
}
sub timeout
{
print "alarm\n";
exit;
}
ねね
2000/06/06(火) 15:26:22
$SIG{'ALRM'} = "timeout";
じゃないですか?
あと、Windows系だと(NTでも)alarmは使えないので、
eval{ alarm(10); };とした方がいいです。
[上に]
[前に]
[次に]