Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #405 (closed defect: wontfix)

Opened 13 years ago

Last modified 12 years ago

Autoreload - SIGTERM doesn't kill child process

Reported by: ocrow@… Owned by: anonymous
Priority: normal Milestone: 0.9
Component: CherryPy Version:
Severity: normal Keywords:


When the CherryPy webserver is running with AutoReload, it fails to die cleanly upon receipt of a SIGTERM signal. This signal is normally used to halt server processes, for example by process management tools like djb daemontools.

With AutoReload CherryPy creates a parent process which monitors and restarts a child webserver process. Upon receipt of SIGTERM the parent process dies but the child process lives on, continuing to serve web requests. This undermines daemontools (or other process management tools) by preventing them from being able to stop or start the CherryPy server.

Shouldn't the CherryPy parent process catch the SIGTERM signal and cleanup it's child process?

This problem was observed with djb daemontools (v0.7.6) supervising a TurboGears (v0.8.8) server process on FreeBSD (v5.4). '

Change History

comment:1 Changed 13 years ago by kevin

  • Status changed from new to closed
  • Resolution set to wontfix

AutoReload? is a development-time only feature. It's not really the kind of thing you'd want to run in production, so I don't think we should worry about it running behind process management tools.

You could try this in the CherryPy? Trac to see if they have a different opinion.

Note: See TracTickets for help on using tickets.