Annotation of loncom/init.d/loncontrol, revision 1.2

1.1       harris41    1: #!/usr/bin/perl
1.2     ! harris41    2: #
        !             3: # Startup script for the LON-CAPA network processes
        !             4: # Scott Harrison 10/25/2000
        !             5: #
        !             6: # chkconfig: 345 85 15
        !             7: # description: Apache is a World Wide Web server.  It is used to serve \
        !             8: #              HTML files and CGI.
        !             9: # processnames: lonc, lond, lonsql
        !            10: # pidfiles: /home/httpd/perl/logs/lon*.pid
        !            11: # config: /etc/httpd/conf/access.conf
        !            12: # config: /home/httpd/lonTabs/hosts.tab
        !            13: # config: /home/httpd/lonTabs/spare.tab
        !            14: 
        !            15: open (IN, "</etc/passwd");
        !            16: @lines=<IN>;
        !            17: close IN;
        !            18: for $l (@lines) {
        !            19:     chop $l;
        !            20:     @F=split(/\:/,$l);
        !            21:     if ($F[0] eq 'www') {$wwwid=$F[2];}
        !            22: }
        !            23: $<=$wwwid;
        !            24: 
        !            25: open (OUT, ">junk");
        !            26: print OUT "stuff";
        !            27: close OUT;
        !            28: __END__
1.1       harris41   29: 
                     30: $command=$ARGV[0]; $command=~s/[^a-z]//g;
                     31: 
                     32: # ($euid,$egid,$uid,$gid)=($>,$),$<,$();
                     33: $ENV{'PATH'}="/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin";
                     34: $ENV{'BASH_ENV'}="";
                     35: 
                     36: open (IN, "</etc/passwd");
                     37: @lines=<IN>;
                     38: close IN;
                     39: for $l (@lines) {
                     40:     chop $l;
                     41:     @F=split(/\:/,$l);
                     42:     if ($F[0] eq 'www') {$wwwid=$F[2];}
                     43: }
                     44: if ($wwwid!=$<) {
                     45:     die("User ID mismatch.  This program must be run as user 'www'\n");
                     46: }
                     47: 
                     48: if (($command eq "restart") or ($command eq "reload")) {
                     49:     print "Restarting LON-CAPA\n";
                     50:     ($<,$>)=($>,$<);
                     51:     print "Ending LON-CAPA client and daemon processes\n";
                     52:     print `/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\``;
                     53:     print "Starting LON-CAPA client and daemon processes (please be patient)\n";
                     54:     system("/home/httpd/perl/loncron");
                     55:     ($<,$>)=($>,$<);
                     56:     print "Restarting web server\n";
                     57:     print `/etc/rc.d/init.d/httpd restart`;
                     58: }
                     59: elsif ($command eq "stop") {
                     60:     print "Stopping LON-CAPA\n";
                     61:     ($<,$>)=($>,$<);
                     62:     print `/bin/kill \`/bin/cat /home/httpd/perl/logs/*.pid\``;
                     63:     ($<,$>)=($>,$<);
                     64:     print "Stopping web server\n";
                     65:     print `/etc/rc.d/init.d/httpd stop`;
                     66: }
                     67: elsif ($command eq "start") {
                     68:     print "Starting LON-CAPA\n";
                     69:     print "Starting LON-CAPA client and daemon processes (please be patient)\n"; 
                     70:     ($<,$>)=($>,$<);
                     71:     system("/home/httpd/perl/loncron");
                     72:     ($<,$>)=($>,$<);
                     73:     print "Starting web server\n";
                     74:     print `/etc/rc.d/init.d/httpd start`;
                     75: }
                     76: elsif ($command eq "status") {
                     77:     $response=`/bin/cat /home/httpd/perl/logs/*.pid 2>&1`;
                     78:     if ($response=~/No such file or directory/) {
                     79: 	print "LON-CAPA is not running.\n";
                     80:     }
                     81:     else {
                     82: 	print "LON-CAPA is running.\n";
                     83:     }
                     84: }
                     85: else {
                     86:     print "You need to specify restart|stop|start on the command line argument.\n";
                     87: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>