victorz
victorz

Reputation: 2279

How to make Apache/mod_python process collect its zombies?

Apache/2.2.6 (Unix) DAV/2 mod_python/3.2.8 Python/2.4.4 configured ...

One of apache processes spawns some long-running python script asynchronously, and apparently doesn't seem to collect its child process table entry. After that long-run-in-subprocess python script finishes - defunct python process has been left.

# ps -ef | grep httpd
root     23911     1  0 Oct15 ?        00:00:01 /usr/sbin/httpd
...
qa       23920 23911  0 Oct15 ?        00:00:00 /usr/sbin/httpd


# ps -ef | grep python
...
qa       28449 23920  0 12:38 ?        00:00:00 [python] <defunct>

What is the way to make the Apache process to collect its children? Is it possible to do the job via a mod_python request handler ( like PythonCleanupHandler for example)?

Thanks.

Upvotes: 2

Views: 715

Answers (2)

user3850
user3850

Reputation:

File a bug report.

EDIT: I'm serious. Leaving zombies behind is a bug, and there is almost certainly nothing you can do from within Python.

Upgrade to the latest versions, look for bug reports, post on the mailing list, switch to another product.

Upvotes: 1

Florian B&#246;sch
Florian B&#246;sch

Reputation: 27766

Drop mod_python in favor of mod_wsgi (is used for wsgi), which does not leave orphaned zombies around afaik.

Upvotes: 1

Related Questions