diff --git a/IPython/frontend/html/notebook/kernelmanager.py b/IPython/frontend/html/notebook/kernelmanager.py
index 6828f17ca..c79ab6fca 100644
--- a/IPython/frontend/html/notebook/kernelmanager.py
+++ b/IPython/frontend/html/notebook/kernelmanager.py
@@ -96,41 +96,25 @@ class MultiKernelManager(LoggingConfigurable):
self._kernels[kernel_id] = km
return kernel_id
- def shutdown_kernel(self, kernel_id):
+ def shutdown_kernel(self, kernel_id, now=False):
"""Shutdown a kernel by its kernel uuid.
Parameters
==========
kernel_id : uuid
The id of the kernel to shutdown.
+ now : bool
+ Should the kernel be shutdown forcibly using a signal.
"""
k = self.get_kernel(kernel_id)
- k.shutdown_kernel()
+ k.shutdown_kernel(now=now)
k.shell_channel.stop()
del self._kernels[kernel_id]
- def shutdown_all(self):
+ def shutdown_all(self, now=False):
"""Shutdown all kernels."""
for kid in self.list_kernel_ids():
- self.shutdown_kernel(kid)
-
- def kill_kernel(self, kernel_id):
- """Kill a kernel by its kernel uuid.
-
- Parameters
- ==========
- kernel_id : uuid
- The id of the kernel to kill.
- """
- k = self.get_kernel(kernel_id)
- k.kill_kernel()
- k.shell_channel.stop()
- del self._kernels[kernel_id]
-
- def kill_all(self):
- """Kill all kernels."""
- for kid in self.list_kernel_ids():
- self.kill_kernel(kid)
+ self.shutdown_kernel(kid, now=now)
def interrupt_kernel(self, kernel_id):
"""Interrupt (SIGINT) the kernel by its uuid.
@@ -143,7 +127,7 @@ class MultiKernelManager(LoggingConfigurable):
return self.get_kernel(kernel_id).interrupt_kernel()
def signal_kernel(self, kernel_id, signum):
- """ Sends a signal to the kernel by its uuid.
+ """Sends a signal to the kernel by its uuid.
Note that since only SIGTERM is supported on Windows, this function
is only useful on Unix systems.
@@ -330,20 +314,15 @@ class MappingKernelManager(MultiKernelManager):
self.log.info("Using existing kernel: %s" % kernel_id)
return kernel_id
- def shutdown_kernel(self, kernel_id):
+ def shutdown_kernel(self, kernel_id, now=False):
"""Shutdown a kernel and remove its notebook association."""
self._check_kernel_id(kernel_id)
- super(MappingKernelManager, self).shutdown_kernel(kernel_id)
+ super(MappingKernelManager, self).shutdown_kernel(
+ kernel_id, now=now
+ )
self.delete_mapping_for_kernel(kernel_id)
self.log.info("Kernel shutdown: %s" % kernel_id)
- def kill_kernel(self, kernel_id):
- """Kill a kernel and remove its notebook association."""
- self._check_kernel_id(kernel_id)
- super(MappingKernelManager, self).kill_kernel(kernel_id)
- self.delete_mapping_for_kernel(kernel_id)
- self.log.info("Kernel killed: %s" % kernel_id)
-
def interrupt_kernel(self, kernel_id):
"""Interrupt a kernel."""
self._check_kernel_id(kernel_id)