当我从命令行运行ipython notebook list
时,我应该得到一份当前运行的笔记本服务器列表;但在我关闭服务器之后,某些条目仍然存在。由于未能在~/.ipython
中找到会话列表文件,我在源代码(sessionmanager.py
)中挖掘并发现会话在sqlite数据库中查找:
def list_sessions(self):
"""Returns a list of dictionaries containing all the information from
the session database"""
c = self.cursor.execute("SELECT * FROM session")
return list(c.fetchall())
太好了,让我们找到数据库并将其删除。但数据库似乎初始化如下:
self._connection = sqlite3.connect(':memory:')
这是正确的,它是一个内存数据库,当进程关闭时它应该消失。但我已经关闭了我运行的每一个python或笔记本进程,但僵尸会话仍然出现。这里有没有人能够很好地理解系统,以解释它们如何粘附,和/或如何摆脱它们? (我在OS X上,如果重要的话)。
答案 0 :(得分:1)
如果您要从列表中删除它们,请在ubuntu
上:
/home/username/.ipython/profile_default/security
每次启动新nbserver-13578.json
时,您都会看到notebook
等文件,如果删除它们,则在使用以下内容重新检查时应看到一个空列表:
ipython notebook list
Currently running servers:
:~$