mirror of
https://github.com/webmin/webmin.git
synced 2025-07-21 23:40:34 +00:00
39 lines
881 B
Perl
Executable File
39 lines
881 B
Perl
Executable File
# squid-monitor.pl
|
|
# Monitor the squid server on this host
|
|
|
|
# Check the PID file to see if squid is running
|
|
sub get_squid_status
|
|
{
|
|
return { 'up' => -1 } if (!&foreign_check($_[1]));
|
|
&foreign_require($_[1], "squid-lib.pl");
|
|
return { 'up' => -1 } if (!&foreign_check($_[1]));
|
|
local %sconfig = &foreign_config($_[1]);
|
|
return { 'up' => -1 } if (!-r $sconfig{'squid_conf'});
|
|
local $conf = &foreign_call($_[1], "get_config");
|
|
local $str = &foreign_call($_[1], "find_config", "pid_filename", $conf);
|
|
local $file;
|
|
if ($str) {
|
|
$file = $str->{'values'}->[0];
|
|
}
|
|
else {
|
|
$file = $sconfig{'pid_file'};
|
|
}
|
|
if (open(PID, "<".$file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
|
|
close(PID);
|
|
local @st = stat($file);
|
|
return { 'up' => 1,
|
|
'desc' => &text('up_since', scalar(localtime($st[9]))) };
|
|
}
|
|
else {
|
|
return { 'up' => 0 };
|
|
}
|
|
}
|
|
|
|
sub parse_squid_dialog
|
|
{
|
|
&depends_check($_[0], "squid");
|
|
}
|
|
|
|
1;
|
|
|