Hi Jeff,
Thanks for your reply.
The httpd.exe of Apache web server has two processes running in windows.
When we kill the parent httpd.exe the child httpd.exe is still running and
listening to the web request. I don't want this.
I want to modify this in such a way that if I kill the parent httpd.exe
through following code, the child process should also get killed. How is it
possible? Please guide me. It's very urgent.
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, pid);
if (hProcess == NULL) return FALSE;
dwError = ERROR_SUCCESS;
if (!TerminateProcess(hProcess, (DWORD)-1))
dwError = GetLastError();
where pid is the parent process id.
Thanks and Regards,
Ashwani Sharma
Mob: 09916454843
Off: +91-80-26265053
-----Original Message-----
From: Jeff Trawick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 11, 2007 4:15 PM
To: [email protected]
Subject: Re: Want to kill Apache process when its parent process gets killed.
On 9/10/07, Ashwani Kumar Sharma <[EMAIL PROTECTED]> wrote:
> In my application I am spawning httpd.exe from the parent process.
...
> My requirement is that:
...
> In the Abnormal termination of the parent process. The Apache should keep
> looking for its parent process. If the parent process is not present
>
> then the Apache web server should also kill itself.
> How can I implement the 2nd point?
not even a half-baked idea:
Somebody gets the monitor hook called from the Windows MPM (i.e.,
fixes Apache on Windows to call a hook that is provided on
Unix/Linux).
General idea (mpm_winnt.c)
/* Wait for shutdown or restart events or for child death */
winnt_mpm_state = AP_MPMQ_RUNNING;
do {
rv = WaitForMultipleObjects(NUM_WAIT_HANDLES, (HANDLE *)
event_handles, FALSE, something-that-means-one-second);
if (rv == WAIT_TIMEOUT) {
ap_run_monitor(pconf);
}
} while (rv == WAIT_TIMEOUT);
(remove existing check for WAIT_TIMEOUT that considers it a fatal error)
Your application starts httpd.exe with a define like
-DMOD_FOO_MONITORED_PID=13579
and a config that loads a custom plug-in module provided by you which
implements the monitor hook that checks for when that pid goes away.
???How to make the monitor hook take down httpd? apache -k stop???
DISCLAIMER:
This message (including attachment if any) is confidential and may be
privileged. If you have received this message by mistake please notify the
sender by return e-mail and delete this message from your system. Any
unauthorized use or dissemination of this message in whole or in part is
strictly prohibited.
E-mail may contain viruses. Before opening attachments please check them for
viruses and defects. While MindTree Consulting Limited (MindTree) has put in
place checks to minimize the risks, MindTree will not be responsible for any
viruses or defects or any forwarded attachments emanating either from within
MindTree or outside.
Please note that e-mails are susceptible to change and MindTree shall not be
liable for any improper, untimely or incomplete transmission.
MindTree reserves the right to monitor and review the content of all messages
sent to or from MindTree e-mail address. Messages sent to or from this e-mail
address may be stored on the MindTree e-mail system or else where.