Metadata
- Source
- DECA-195
- Type
- Bug
- Priority
- Critical
- Status
- Closed
- Resolution
- Fixed
- Assignee
- N/A
- Reporter
- Justin Obara
- Created
2012-01-10T11:14:04.921-0500 - Updated
2012-01-19T15:38:39.011-0500 - Versions
-
- 0.4
- 0.5a
- Fixed Versions
-
- 0.5
- Component
-
- Server
Description
Currently to quit the Cherrypy server you have to kill the process ( kill -9 PID number ). You should be able to quit it just by using ctrl-c.
http://docs.cherrypy.org/stable/concepts/basics.html
Comments
-
Justin Obara commented
2012-01-10T11:15:04.777-0500 During our trip to BUK and UI in Nigeria, both sets of users would prefer to not have to kill the process to quit the server
-
Justin Obara commented
2012-01-10T12:43:23.599-0500 a quicker way to quit the server is with "ctrl-\" which triggers a SIGQUIT. This could be another temporary work around.
http://www.kingcomputerservices.com/unix_101/sending_signals.htm -
Justin Obara commented
2012-01-10T15:02:46.974-0500 Instead of using cherrypy.mount.tree and cherrypy.engine.start we should be able to get this working properly by just calling cherrypy.quickstart
http://docs.cherrypy.org/dev/refman/cherrypy.html#functionsThis should allow us to quit the server with ctrl-c
-
Justin Obara commented
2012-01-10T15:09:50.533-0500 If we can't use the cherrypy.quickstart, we should be able to manually subscribe to the signal handler.
http://docs.cherrypy.org/stable/refman/process/plugins/signalhandler.htmlI did try this briefly, without success. Although I would imagine that a more focussed attempt would have better results.
-
Justin Obara commented
2012-01-11T13:17:43.063-0500 I made another attempt at getting it to work with manually subscribing to the signal handler, but still to no avail. I did find another example though, which may prove helpful in the future.
-
Justin Obara commented
2012-01-11T13:46:53.199-0500 Pushed a fix for this to my bitbucket repo
https://bitbucket.org/jobara/decapod-server/changeset/eede86bc0271Needs to be pulled into the master in googlecode
-
Justin Obara commented
2012-01-16T11:45:35.005-0500 pushed up to the main googlecode repo
-
Justin Obara commented
2012-01-19T15:32:57.230-0500 I was able to get the preferred, alternate, method to work by subscribing to the signal and console handlers, as well as using cherrypy.engine.block() after calling cherrypy.engine.start().
These changes are part of the fix for DECA-225
-
Justin Obara commented
2012-01-19T15:38:38.977-0500 This example was useful in figuring out the above fix ( http://groups.google.com/group/cherrypy-users/browse_thread/thread/b347284512e2c6c1?fwc=1 )