--- sap.monitor 2002/08/07 09:57:59 1.10 +++ sap.monitor 2002/10/28 08:36:48 1.11 @@ -62,7 +62,12 @@ my $output; my $sys_id; for(my $i=0; $i<$repeat; $i++) { - $output = `$SAPINFO trace=0 ashost=$ashost sysnr=$sysnr`; + eval { + local $SIG{ALRM} = sub { die "timeout\n"; }; + alarm 30; # wait for sapinfo to finish + $output = `$SAPINFO trace=0 ashost=$ashost sysnr=$sysnr`; + }; + alarm 0; # turn alarm off undef $sys_id; if ($output =~ m/System\s+ID\s+(\w+)/i) { $sys_id = $1;