]> granicus.if.org Git - apache/commitdiff
simplified apachectl...
authorJeff Trawick <trawick@apache.org>
Mon, 27 May 2002 11:46:01 +0000 (11:46 +0000)
committerJeff Trawick <trawick@apache.org>
Mon, 27 May 2002 11:46:01 +0000 (11:46 +0000)
. it now uses "httpd -k verb" support for start/restart/etc.
. it now can pass through any httpd option, so apachectl
  can be used as a replacement for invoking httpd directly
  (this practice ensures that any necessary environment
  variables are set up)

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95307 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
support/apachectl.in

diff --git a/CHANGES b/CHANGES
index 86ded713eb078dfaf7a06db1492d63be1541b31e..72a5ba2e95f073bd78f90cdb3160e76434f10b4c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+Changes with Apache 2.0.38
+
+  *) apachectl passes through any httpd options.  Note: apachectl
+     should be used in preference to httpd since it ensures that any
+     appropriate environment variables have been set up.
+     [Jeff Trawick]
+
 Changes with Apache 2.0.37
 
   *) Fix the combination of mod_cgid, mod_setuexec, and mod_userdir.
index 8b316bc27d8afbb91fe0e7fd79d65602947bda72..91f1a6fe10f7614ec8fc2a580617a7e238334272 100644 (file)
@@ -7,6 +7,8 @@
 # to controlling Apache.  Written by Marc Slemko, 1997/08/23
 # 
 # The exit codes returned are:
+#   XXX this doc is no longer correct now that the interesting
+#   XXX functions are handled by httpd
 #      0 - operation completed successfully
 #      1 - 
 #      2 - usage error
@@ -25,9 +27,6 @@ ARGV="$@"
 # |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
 # --------------------                              --------------------
 # 
-# the path to your PID file
-PIDFILE=@exp_runtimedir@/@progname@.pid
-#
 # the path to your httpd binary, including options if necessary
 HTTPD='@exp_sbindir@/@progname@'
 #
@@ -50,146 +49,32 @@ STATUSURL="http://localhost:@PORT@/server-status"
 
 ERROR=0
 if [ "x$ARGV" = "x" ] ; then 
-    ARGS="help"
+    ARGV="-h"
 fi
 
-for ARG in $ARGV $ARGS
-do
-    # check for pidfile
-    if [ -f $PIDFILE ] ; then
-       PID=`cat $PIDFILE`
-       if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
-           STATUS="@progname@ (pid $PID) running"
-           RUNNING=1
-       else
-           STATUS="@progname@ (pid $PID?) not running"
-           RUNNING=0
-       fi
-    else
-       STATUS="@progname@ (no pid file) not running"
-       RUNNING=0
-    fi
-
-    case $ARG in
-    start)
-       if [ $RUNNING -eq 1 ]; then
-           echo "$0 $ARG: @progname@ (pid $PID) already running"
-           continue
-       fi
-       if $HTTPD ; then
-           echo "$0 $ARG: @progname@ started"
-       else
-           echo "$0 $ARG: @progname@ could not be started"
-           ERROR=3
-       fi
-       ;;
-    startssl|sslstart|start-SSL)
-        if [ $RUNNING -eq 1 ]; then
-            echo "$0 $ARG: @progname@ (pid $PID) already running"
-            continue
-        fi
-        if $HTTPD -DSSL; then
-            echo "$0 $ARG: @progname@ started"
-        else
-            echo "$0 $ARG: @progname@ could not be started"
-            ERROR=3
-        fi
-        ;;
-    stop)
-       if [ $RUNNING -eq 0 ]; then
-           echo "$0 $ARG: $STATUS"
-           continue
-       fi
-       if kill $PID ; then
-           echo "$0 $ARG: @progname@ stopped"
-       else
-           echo "$0 $ARG: @progname@ could not be stopped"
-           ERROR=4
-       fi
-       ;;
-    restart)
-       if [ $RUNNING -eq 0 ]; then
-           echo "$0 $ARG: @progname@ not running, trying to start"
-           if $HTTPD ; then
-               echo "$0 $ARG: @progname@ started"
-           else
-               echo "$0 $ARG: @progname@ could not be started"
-               ERROR=5
-           fi
-       else
-           if $HTTPD -t >/dev/null 2>&1; then
-               if kill -HUP $PID ; then
-                   echo "$0 $ARG: @progname@ restarted"
-               else
-                   echo "$0 $ARG: @progname@ could not be restarted"
-                   ERROR=6
-               fi
-           else
-               echo "$0 $ARG: configuration broken, ignoring restart"
-               echo "$0 $ARG: (run 'apachectl configtest' for details)"
-               ERROR=6
-           fi
-       fi
-       ;;
-    graceful)
-       if [ $RUNNING -eq 0 ]; then
-           echo "$0 $ARG: @progname@ not running, trying to start"
-           if $HTTPD ; then
-               echo "$0 $ARG: @progname@ started"
-           else
-               echo "$0 $ARG: @progname@ could not be started"
-               ERROR=5
-           fi
-       else
-           if $HTTPD -t >/dev/null 2>&1; then
-               if kill -@AP_SIG_GRACEFUL_SHORT@ $PID ; then
-                   echo "$0 $ARG: @progname@ gracefully restarted"
-               else
-                   echo "$0 $ARG: @progname@ could not be restarted"
-                   ERROR=7
-               fi
-           else
-               echo "$0 $ARG: configuration broken, ignoring restart"
-               echo "$0 $ARG: (run 'apachectl configtest' for details)"
-               ERROR=7
-           fi
-       fi
-       ;;
-    status)
-       $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
-       ;;
-    fullstatus)
-       $LYNX $STATUSURL
-       ;;
-    configtest)
-       if $HTTPD -t; then
-           :
-       else
-           ERROR=8
-       fi
-       ;;
-    *)
-       echo "usage: $0 (start|stop|restart|fullstatus|status|graceful|configtest|help)"
-       cat <<EOF
-
-start      - start @progname@
-startssl   - start @progname@ with SSL enabled
-stop       - stop @progname@
-restart    - restart @progname@ if running by sending a SIGHUP or start if 
-             not running
-fullstatus - dump a full status screen; requires lynx and mod_status enabled
-status     - dump a short status screen; requires lynx and mod_status enabled
-graceful   - do a graceful restart by sending a @AP_SIG_GRACEFUL@ or start if not running
-configtest - do a configuration syntax test
-help       - this screen
-
-EOF
-       ERROR=2
+case $ARGV in
+start|stop|restart|graceful)
+    $HTTPD -k $ARGV
+    ERROR=$?
     ;;
-
-    esac
-
-done
+startssl|sslstart|start-SSL)
+    $HTTPD -k start -DSSL
+    ERROR=$?
+    ;;
+configtest)
+    $HTTPD -t
+    ERROR=$?
+    ;;
+status)
+    $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
+    ;;
+fullstatus)
+    $LYNX $STATUSURL
+    ;;
+*)
+    $HTTPD $ARGV
+    ERROR=$?
+esac
 
 exit $ERROR