如何在Python中获取Jupyter Notebook的固定内核ID?
获取Jupyter重启内核后不变的固定ID
你在控制台看到的重启后仍保持不变的ID,是绑定到Notebook实例的会话级内核ID,而你用kernel.ident获取的是每次内核重启都会生成的进程级临时标识,所以每次执行都会得到新值。
要获取这个固定ID,可以通过内核的连接文件路径提取——Jupyter会为每个Notebook实例生成一个固定命名的连接文件,文件名里就包含你要的ID:
from IPython.core.getipython import get_ipython import os # 获取当前内核实例 kernel = get_ipython().kernel # 提取连接文件路径 connection_file = kernel.parent.connection_file # 从文件名中解析固定内核ID fixed_kernel_id = os.path.basename(connection_file).split("-")[1].replace(".json", "") print(fixed_kernel_id)
这段代码会输出和控制台日志里Kernel restarted:后面完全一致的固定ID,不管你重启多少次内核,这个值都不会改变——因为它是Notebook创建时分配的会话标识,和内核进程的生命周期无关。
内容的提问来源于stack exchange,提问作者Alain ux
相关产品推荐
相关产品推荐

