version 1.15, 2003/12/18 21:23:01
|
version 1.19, 2004/08/19 18:31:42
|
Line 23 $ENV{'PATH'}="/sbin:/bin:/usr/sbin:/usr/
|
Line 23 $ENV{'PATH'}="/sbin:/bin:/usr/sbin:/usr/
|
$ENV{'BASH_ENV'}=""; |
$ENV{'BASH_ENV'}=""; |
|
|
sub stop_daemon { |
sub stop_daemon { |
my ($daemon)=@_; |
my ($daemon,$killallname)=@_; |
my $pidfile="/home/httpd/perl/logs/$daemon.pid"; |
my $pidfile="/home/httpd/perl/logs/$daemon.pid"; |
|
|
printf("%-10s ",$daemon); |
printf("%-10s ",$daemon); |
Line 37 sub stop_daemon {
|
Line 37 sub stop_daemon {
|
kill KILL => $daemonpid; |
kill KILL => $daemonpid; |
sleep 2; |
sleep 2; |
if (kill 0 => $daemonpid) { |
if (kill 0 => $daemonpid) { |
print("failed to kill\n"); return; |
print("failed to kill"); |
} else { |
} else { |
print("killed\n"); return; |
print("killed"); |
} |
} |
} else { |
} else { |
print("stopped\n"); return; |
print("stopped"); |
} |
} |
|
} else { |
|
print("not running"); |
} |
} |
print("not running\n"); |
system("killall -q -0 $killallname"); |
|
if ($? == 0) { |
|
system("killall -q $killallname"); |
|
print(", killed off extraneous processes"); |
|
} |
|
print("\n"); |
} |
} |
|
|
if (($command eq "restart") or ($command eq "reload")) { |
if (($command eq "restartold") or ($command eq "reloadold")) { |
print 'Restarting LON-CAPA'."\n"; |
print 'Restarting LON-CAPA'."\n"; |
print 'Ending LON-CAPA client and daemon processes'."\n"; |
print 'Ending LON-CAPA client and daemon processes'."\n"; |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
&stop_daemon($daemon); |
&stop_daemon($daemon,$daemon); |
} |
} |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
"\n"; |
"\n"; |
system("su -c '/home/httpd/perl/loncron' www"); |
system("su www -c '/home/httpd/perl/loncron --oldlonc --justcheckdaemons'"); |
} |
} elsif (($command eq "restart") or ($command eq "reload")) { |
elsif (($command eq "restartnew") or ($command eq "reloadnew")) { |
|
print 'Restarting LON-CAPA'."\n"; |
print 'Restarting LON-CAPA'."\n"; |
print 'Ending LON-CAPA client and daemon processes'."\n"; |
print 'Ending LON-CAPA client and daemon processes'."\n"; |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
&stop_daemon($daemon); |
my $killallname=$daemon; |
|
if ($daemon eq 'lonc') { $killallname='loncnew'; } |
|
&stop_daemon($daemon,$killallname); |
} |
} |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
"\n"; |
"\n"; |
system("su -c '/home/httpd/perl/loncron new' www"); |
system("su www -c '/home/httpd/perl/loncron --justcheckdaemons'"); |
} |
} elsif ($command eq "stop") { |
elsif ($command eq "stop") { |
|
print 'Stopping LON-CAPA'."\n"; |
print 'Stopping LON-CAPA'."\n"; |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
foreach my $daemon ('lonsql','lond','lonc','lonhttpd') { |
&stop_daemon($daemon); |
my $killallname=$daemon; |
|
if ($daemon eq 'lonc') { $killallname='loncnew'; } |
|
&stop_daemon($daemon,$killallname); |
} |
} |
} |
} elsif ($command eq "startold") { |
elsif ($command eq "start") { |
|
print 'Starting LON-CAPA'."\n"; |
print 'Starting LON-CAPA'."\n"; |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
"\n"; |
"\n"; |
system("su -c '/home/httpd/perl/loncron' www"); |
system("su www -c '/home/httpd/perl/loncron --oldlonc --justcheckdaemons'"); |
} |
} elsif ($command eq "start") { |
elsif ($command eq "startnew") { |
|
print 'Starting LON-CAPA'."\n"; |
print 'Starting LON-CAPA'."\n"; |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
print 'Starting LON-CAPA client and daemon processes (please be patient)'. |
"\n"; |
"\n"; |
system("su -c '/home/httpd/perl/loncron new' www"); |
system("su www -c '/home/httpd/perl/loncron --justcheckdaemons'"); |
} |
} elsif ($command eq "status") { |
elsif ($command eq "status") { |
|
$response=`/bin/cat /home/httpd/perl/logs/*.pid 2>&1`; |
$response=`/bin/cat /home/httpd/perl/logs/*.pid 2>&1`; |
if ($response=~/No such file or directory/) { |
if ($response=~/No such file or directory/) { |
print 'LON-CAPA is not running.'."\n"; |
print 'LON-CAPA is not running.'."\n"; |
} |
} else { |
else { |
|
print 'LON-CAPA is running.'."\n"; |
print 'LON-CAPA is running.'."\n"; |
|
system("su www -c '/home/httpd/perl/loncron --justcheckconnections'"); |
} |
} |
} |
} else { |
else { |
print 'You need to specify one of restart|stop|start|status on the command line.'."\n"; |
print 'You need to specify restart|stop|start|status on the command line'. |
|
' argument.'."\n"; |
|
} |
} |