mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-06-09 00:32:05 -04:00
fix timeout issue with check_disk_smb
check_disk_smb hangs if the smbclient is still running. So send a sigint to all childs and exit cleanly. Signed-off-by: Sven Nierlein <sven@nierlein.de>
This commit is contained in:
parent
b3dee5c4bf
commit
3b962208e7
1 changed files with 6 additions and 1 deletions
|
|
@ -19,7 +19,7 @@
|
|||
#
|
||||
|
||||
require 5.004;
|
||||
use POSIX;
|
||||
use POSIX qw(setsid);
|
||||
use strict;
|
||||
use Getopt::Long;
|
||||
use vars qw($opt_P $opt_V $opt_h $opt_H $opt_s $opt_W $opt_u $opt_p $opt_w $opt_c $opt_a $verbose);
|
||||
|
|
@ -28,6 +28,9 @@ use FindBin;
|
|||
use lib "$FindBin::Bin";
|
||||
use utils qw($TIMEOUT %ERRORS &print_revision &support &usage);
|
||||
|
||||
# make us session leader which makes all childs exit if we do
|
||||
setsid;
|
||||
|
||||
sub print_help ();
|
||||
sub print_usage ();
|
||||
|
||||
|
|
@ -175,6 +178,8 @@ my @lines = undef;
|
|||
# Just in case of problems, let's not hang the monitoring system
|
||||
$SIG{'ALRM'} = sub {
|
||||
print "No Answer from Client\n";
|
||||
$SIG{'INT'} = 'IGNORE';
|
||||
kill(-2, $$);
|
||||
exit $ERRORS{"UNKNOWN"};
|
||||
};
|
||||
alarm($TIMEOUT);
|
||||
|
|
|
|||
Loading…
Reference in a new issue