diff options
author | 2015-11-30 01:45:08 -0500 | |
---|---|---|
committer | 2015-11-30 01:45:08 -0500 | |
commit | e8ec7aa8e38a93f5b034ac74cebce5de23710317 (patch) | |
tree | aa031937bf856c1f8d6ad7877b8d2cb0224da5ef /rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt | |
parent | cc40af334e619bb549038238507407866f774f8f (diff) |
upload http
JIRA: BOTTLENECK-10
Change-Id: I7598427ff904df438ce77c2819ee48ac75ffa8da
Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt')
-rw-r--r-- | rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt b/rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt new file mode 100644 index 00000000..24665890 --- /dev/null +++ b/rubbos/app/httpd-2.0.64/server/mpm/monitoring-services.txt @@ -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.) |