- 論壇徽章:
- 0
|
最近在做learning perl的EX16-4習(xí)題時,做一個相應(yīng)信號的進(jìn)程腳本,發(fā)現(xiàn)say的語句能夠?qū)崟r輸出提示,而print只有在結(jié)束進(jìn)程時才會有輸出,不曉得是不是緩沖機(jī)制的不同造成的,代碼如下(say版本):
#!/usr/bin/perl
use 5.010;
sub hup_handler{
state $n;
say "Caught HUP", ++$n;
}
sub usr1_handler{
state $n;
say "Caught USR1", ++$n;
}
sub usr2_handler{
state $n;
say "Caught USR2", ++$n;
}
sub int_handler{
say "Caught INT. Exiting.";
exit;
}
print "My PID is <$$> \n";
foreach(qw(int hup usr1 usr2)){
$SIG{uc $_} = "${_}_handler";
}
while(1){
sleep 1;
}
|
|