diff --git a/IPython/frontend/html/notebook/notebookapp.py b/IPython/frontend/html/notebook/notebookapp.py index 14d2617..896a0f9 100644 --- a/IPython/frontend/html/notebook/notebookapp.py +++ b/IPython/frontend/html/notebook/notebookapp.py @@ -550,6 +550,10 @@ class NotebookApp(BaseIPythonApplication): # but it will work signal.signal(signal.SIGINT, self._handle_sigint) signal.signal(signal.SIGTERM, self._signal_stop) + signal.signal(signal.SIGUSR1, self._signal_info) + if hasattr(signal, 'SIGINFO'): + # only on BSD-based systems + signal.signal(signal.SIGINFO, self._signal_info) def _handle_sigint(self, sig, frame): """SIGINT handler spawns confirmation dialog""" @@ -599,6 +603,9 @@ class NotebookApp(BaseIPythonApplication): def _signal_stop(self, sig, frame): self.log.critical("received signal %s, stopping", sig) ioloop.IOLoop.instance().stop() + + def _signal_info(self, sig, frame): + self.print_notebook_info() @catch_config_error def initialize(self, argv=None):