]> granicus.if.org Git - apache/commitdiff
Keep this note for 2.0 developers, as well. Needs additional comments
authorWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 25 Aug 2000 14:39:42 +0000 (14:39 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 25 Aug 2000 14:39:42 +0000 (14:39 +0000)
  to follow, after the Bills haggle out the final config registry details.

PR:
Obtained from:
Submitted by:
Reviewed by:

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

server/mpm/monitoring-services.txt [new file with mode: 0644]

diff --git a/server/mpm/monitoring-services.txt b/server/mpm/monitoring-services.txt
new file mode 100644 (file)
index 0000000..2466589
--- /dev/null
@@ -0,0 +1,94 @@
+From:    William A. Rowe, Jr. 
+Date:    June 7th '00
+Subject: service monitoring in Apache 1.3.13
+
+The concept for a taskbar monitor has been thrown around
+for a very long while.  1.3.13 introduced Win9x services,
+and that added fuel to the mix.  Here are some sideband
+observations I've made for other developers...
+
+About Apache as a console, don't start Apache hidden without
+any command line arguments if you want to launch it yourself
+in a hidden window (it will do the classic test for 
+AllocConsole/FreeConsole)... drop in some arguments such as
+the -f or -r option and it will fly without thinking it is a 
+service under 9x and NT.
+
+Rule two, don't use --ntservice as an argument, ever.  Only
+the Windows NT Service Control Manager is allowed to pass that
+flag, and only that flag, when it runs Apache.exe.  Do use 
+--ntservice as the sole argument to the executable name if 
+you are installing an Apache NT service yourself.
+
+Rule three, use -k start and -n name when maintaining the
+HKLM/Software/Microsoft/Windows/CurrentVersion/RunServices
+list, since there is no other way for Apache to know what 
+the service is named :)  And look at any 9x installed service's 
+RunServices entry in the registry for the start service semantic.
+
+Rule four, use the WinNT Service Control Manager exclusively
+for starting, stopping and restarting Apache as an NT service.
+The restart signal is the value 128, as documented in service.h 
+and service.c - this will continue to work in Apache 2.0.  If
+it fails, you are handling an older version (pre 1.3.13) of
+Apache, and need to stop and then start the service instead.
+
+Rule five, use the legacy pid-named events to signal Win9x 
+service Apache to restart and stop the service.  But don't
+bother looking for httpd.pid files... you can get the pid
+right from the hidden service control window.  Apache 1.3.13
+and 2.x create a hidden window named for the name of the 
+service (without the spaces), with a window class of
+"ApacheWin95ServiceMonitor", so can use FindWindow to track 
+down running Win9x services.  See the service.c code for how 
+I accomplished this pretty simply in the -k stop/-k restart
+handler.
+
+Taskbar Monitor App
+-------------------
+
+Basic requirements: a C code application using strictly the
+Win32 API, and not MFC or other Win32 frameworks.  Could use
+the service.c module to share some basic functions.  That
+module could be extended in Apache 2.0 to make this all easier.
+
+I think we are looking for an external app that simply acts 
+as a monitor or allows a stopped service to be started.  If 
+the user logs off, we loose the monitor app, but installed as 
+a shortcut in the Start group or in the registry key
+HKLM/Software/Microsoft/Windows/CurrentVersion/Run
+we will be just fine.  I'd like to see the monitor run only
+one instance to monitor all running services, for memory
+and resource conservation.
+
+I was thinking that the hover/iconbar title would tell them 
+"Test service is running", or "Test service is stopped".
+If they left click, they could stop or restart, or simply
+start if it is stopped.  There could be a preference that
+each service doesn't get it's own individual task icon unless 
+it is running, if it is a manual start service (or missing 
+from the RunServices list, which is the equivilant under 9x).
+
+If a specific service is set to Auto start or is in the 
+RunServices Win9x registry key, we must show them the stopped 
+icon, of course.  We might also keep the icon for any running
+service that stops abruptly.  But there could be a 'single 
+icon' option for the taskbar icon monitor that says show only
+a single status icon, for simplicity if the administrator runs
+many Apache services.
+
+But I was hoping that any right click would provide a menu
+of all Apache services with their status.  e.g.
+  Test service is stopped
+  Apache_2 service is running
+  MyWeb service is running
+and each would do the logical submenu, same as if that
+specific taskbar icon were left clicked, offering to start or
+offering to stop or restart the server, as appropriate.
+
+Finally, to identify all installed Apache services, just query 
+the registry key HKLM\SYSTEM\CurrentControlSet\Services for any 
+key that has the ImagePath value of "...\Apache.exe"... (quotes
+are significant here, if the leading quote is ommitted the 
+entire string ends with the text \Apache.exe - based on Apache's 
+own service installer in every released version.)