version 1.59, 2005/05/26 20:25:00
|
version 1.63.2.2, 2006/03/07 20:02:31
|
Line 92 sub start_daemon {
|
Line 92 sub start_daemon {
|
rename("$error_fname","$error_fname.1"); |
rename("$error_fname","$error_fname.1"); |
} |
} |
system("$perlvar{'lonDaemons'}/$progname 2>$perlvar{'lonDaemons'}/logs/${daemon}_errors"); |
system("$perlvar{'lonDaemons'}/$progname 2>$perlvar{'lonDaemons'}/logs/${daemon}_errors"); |
sleep 2; |
sleep 1; |
if (-e $pidfile) { |
if (-e $pidfile) { |
&log($fh,"<p>Seems like it started ...</p>"); |
&log($fh,"<p>Seems like it started ...</p>"); |
my $lfh=IO::File->new("$pidfile"); |
my $lfh=IO::File->new("$pidfile"); |
my $daemonpid=<$lfh>; |
my $daemonpid=<$lfh>; |
chomp($daemonpid); |
chomp($daemonpid); |
sleep 2; |
if ($daemonpid =~ /^\d+$/ && kill 0 => $daemonpid) { |
if (kill 0 => $daemonpid) { |
|
return 1; |
return 1; |
} else { |
} else { |
return 0; |
return 0; |
Line 113 sub start_daemon {
|
Line 112 sub start_daemon {
|
sub checkon_daemon { |
sub checkon_daemon { |
my ($fh,$daemon,$maxsize,$send,$args)=@_; |
my ($fh,$daemon,$maxsize,$send,$args)=@_; |
|
|
|
my $result; |
&log($fh,'<hr /><a name="'.$daemon.'" /><h2>'.$daemon.'</h2><h3>Log</h3><p style="white-space: pre;"><tt>'); |
&log($fh,'<hr /><a name="'.$daemon.'" /><h2>'.$daemon.'</h2><h3>Log</h3><p style="white-space: pre;"><tt>'); |
printf("%-15s ",$daemon); |
printf("%-15s ",$daemon); |
if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){ |
if (-e "$perlvar{'lonDaemons'}/logs/$daemon.log"){ |
Line 135 sub checkon_daemon {
|
Line 135 sub checkon_daemon {
|
my $lfh=IO::File->new("$pidfile"); |
my $lfh=IO::File->new("$pidfile"); |
$daemonpid=<$lfh>; |
$daemonpid=<$lfh>; |
chomp($daemonpid); |
chomp($daemonpid); |
if (kill 0 => $daemonpid) { |
if ($daemonpid =~ /^\d+$/ && kill 0 => $daemonpid) { |
&log($fh,"<h3>$daemon at pid $daemonpid responding"); |
&log($fh,"<h3>$daemon at pid $daemonpid responding"); |
if ($send) { &log($fh,", sending $send"); } |
if ($send) { &log($fh,", sending $send"); } |
&log($fh,"</h3>"); |
&log($fh,"</h3>"); |
Line 143 sub checkon_daemon {
|
Line 143 sub checkon_daemon {
|
if ($send eq 'USR2') { kill USR2 => $daemonpid; } |
if ($send eq 'USR2') { kill USR2 => $daemonpid; } |
$restartflag=0; |
$restartflag=0; |
if ($send eq 'USR2') { |
if ($send eq 'USR2') { |
|
$result = 'reloaded'; |
print "reloaded\n"; |
print "reloaded\n"; |
} else { |
} else { |
|
$result = 'running'; |
print "running\n"; |
print "running\n"; |
} |
} |
} else { |
} else { |
Line 161 sub checkon_daemon {
|
Line 163 sub checkon_daemon {
|
if ($kadaemon eq 'lonmemcached') { $kadaemon='memcached'; } |
if ($kadaemon eq 'lonmemcached') { $kadaemon='memcached'; } |
&log($fh,'<br><font color="red">Killall '.$daemon.': '. |
&log($fh,'<br><font color="red">Killall '.$daemon.': '. |
`killall $kadaemon 2>&1`.' - '); |
`killall $kadaemon 2>&1`.' - '); |
sleep 2; |
sleep 1; |
&log($fh,unlink($pidfile).' - '. |
&log($fh,unlink($pidfile).' - '. |
`killall -9 $kadaemon 2>&1`. |
`killall -9 $kadaemon 2>&1`. |
'</font><br>'); |
'</font><br>'); |
Line 170 sub checkon_daemon {
|
Line 172 sub checkon_daemon {
|
if (&start_daemon($fh,$daemon,$pidfile,$args)) { |
if (&start_daemon($fh,$daemon,$pidfile,$args)) { |
&log($fh,"<h3>$daemon at pid $daemonpid responding</h3>"); |
&log($fh,"<h3>$daemon at pid $daemonpid responding</h3>"); |
$simplestatus{$daemon}='restarted'; |
$simplestatus{$daemon}='restarted'; |
|
$result = 'started'; |
print "started\n"; |
print "started\n"; |
} else { |
} else { |
$errors++; |
$errors++; |
Line 179 sub checkon_daemon {
|
Line 182 sub checkon_daemon {
|
if (&start_daemon($fh,$daemon,$pidfile,$args)) { |
if (&start_daemon($fh,$daemon,$pidfile,$args)) { |
&log($fh,"<h3>$daemon at pid $daemonpid responding</h3>"); |
&log($fh,"<h3>$daemon at pid $daemonpid responding</h3>"); |
$simplestatus{$daemon}='restarted'; |
$simplestatus{$daemon}='restarted'; |
|
$result = 'started'; |
print "started\n"; |
print "started\n"; |
} else { |
} else { |
|
$result = 'failed'; |
print " failed\n"; |
print " failed\n"; |
$simplestatus{$daemon}='failed'; |
$simplestatus{$daemon}='failed'; |
$errors++; $errors++; |
$errors++; $errors++; |
Line 217 sub checkon_daemon {
|
Line 222 sub checkon_daemon {
|
} |
} |
|
|
&errout($fh); |
&errout($fh); |
|
return $result; |
} |
} |
|
|
# --------------------------------------------------------------------- Machine |
# --------------------------------------------------------------------- Machine |
Line 278 sub log_machine_info {
|
Line 284 sub log_machine_info {
|
if ($psproc>200) { $notices++; } |
if ($psproc>200) { $notices++; } |
if ($psproc>250) { $notices++; } |
if ($psproc>250) { $notices++; } |
|
|
|
&log($fh,"<h3>distprobe</h3>"); |
|
&log($fh,"<pre>"); |
|
open(DSH,"$perlvar{'lonDaemons'}/distprobe |"); |
|
while (my $line=<DSH>) { |
|
&log($fh,&encode_entities($line,'<>&"')); |
|
$psproc++; |
|
} |
|
close(DSH); |
|
&log($fh,"</pre>"); |
|
|
&errout($fh); |
&errout($fh); |
} |
} |
|
|
Line 686 sub main () {
|
Line 702 sub main () {
|
} |
} |
if (!$justcheckconnections && !$justreload) { |
if (!$justcheckconnections && !$justreload) { |
&checkon_daemon($fh,'lonsql',200000); |
&checkon_daemon($fh,'lonsql',200000); |
&checkon_daemon($fh,'lond',40000,'USR1'); |
if ( &checkon_daemon($fh,'lond',40000,'USR1') eq 'running') { |
|
&checkon_daemon($fh,'lond',40000,'USR2'); |
|
} |
my $args='new'; |
my $args='new'; |
if ($oldlonc) { $args = ''; } |
if ($oldlonc) { $args = ''; } |
&checkon_daemon($fh,'lonc',40000,'USR1',$args); |
&checkon_daemon($fh,'lonc',40000,'USR1',$args); |
Line 699 sub main () {
|
Line 717 sub main () {
|
if ($oldlonc) { $args = ''; } |
if ($oldlonc) { $args = ''; } |
&checkon_daemon($fh,'lonc',40000,'USR2',$args); |
&checkon_daemon($fh,'lonc',40000,'USR2',$args); |
} |
} |
if (!$justcheckdaemons && !$justreload) { |
if ($justcheckconnections) { |
&test_connections($fh,\%hostname); |
&test_connections($fh,\%hostname); |
} |
} |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload) { |
if (!$justcheckdaemons && !$justcheckconnections && !$justreload) { |