IPython的笔记本 - 配置关闭内核上关闭标签
在官方网站上it is said:IPython的笔记本 - 配置关闭内核上关闭标签
当笔记本打开时,它的“计算引擎”(称为内核)会自动启动。关闭笔记本浏览器选项卡,不会关闭内核,而是内核将继续运行直到明确关闭。“
是否可以配置iPython服务器,以便内核与关联标签
一些研究和无数次尝试该解决方案是非常简单的后添加在文件profile/static/custom/custom.js
下面的代码的末尾:?!
$(window).unload(function() {
IPython.notebook.kernel.kill();
});
对我的作品完美(试过在Chrome)
您可以在jupyter (more about jupyter notebook extensions)中写入扩展名。 我在早期版本的IPython中找不到有关笔记本扩展的任何信息。然而,笔记本扩展可定制并且比custom.js
要漂亮得多unload
要小心。我的Chrome 43.0.2357.130在重定向时不运行unload
。
我想写尼古拉答案评论,但我没有足够的积分...
我觉得IPython.notebook.session.delete()
比IPython.notebook.kernel.kill()
更好。
window.addEventListener('unload', function() {
// For Firefox
IPython.notebook.session.delete();
});
window.onbeforeunload = function() {
// For Chrome
IPython.notebook.session.delete();
};
原因
因为kernel.kill()
会杀了内核。它不会告诉笔记本的会话管理员关于杀死它。 所以杀掉后,sessionmanager会在你重新打开由kernel.kill()
关闭的ipynb文件(关闭标签或窗口)时提升KernelError
。
关于卸载
在GoogleChrome,卸载事件将不会在移动网页被解雇。 所以,我认为你也应该钩beforeunload
事件
但挂钩addEventListener('beforeunload', ...)
没有奏效。 所以我试过window.onbeforeunload =
,它工作正常。
有些javascript会这样做,但它会是['onunload'](http://*.com/questions/3888902/javascript-detect-browser-close-tab-close-browser)事件,所以它如果您按照链接或使用后退按钮,也会触发。 –
如何将额外的HTML代码插入笔记本模板?什么是精确杀死当前内核的API?我大概可以从JavaScript控制台推演它。 –
用户可以在'profile/static/custom/custom.js'文件中添加任何javascript。将尝试与此。 –