You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu远程conda环境下Jupyter Notebook权限错误及无法关闭问题

问题原因分析与解决方法

核心原因

  1. 端口残留占用:ps -ef|grep jupyter没找到进程,不代表端口没被占用——可能是Jupyter进程变成僵尸进程,或是以其他用户身份启动,甚至伪装成python进程在后台运行,导致8888端口无法正常释放。
  2. 多实例权限冲突:同时运行两个Jupyter服务器(8888和8899),会导致token验证、会话管理混乱,直接触发401(未授权)、403(禁止访问)错误,进而引发服务不稳定、崩溃。
  3. 配置/运行文件损坏:Jupyter的运行时文件或配置文件残留了旧服务器的状态信息,导致新启动的服务读取错误数据,出现异常。

分步解决方法

1. 彻底清理8888端口占用

先定位占用端口的进程,不管它叫什么名字:

# 方法1:用lsof查端口进程
sudo lsof -i :8888
# 方法2:用ss命令(无需额外安装)
sudo ss -tulpn | grep :8888

找到输出里的PID列,执行强制杀死:

sudo kill -9 <找到的PID>

如果提示lsof未安装,先执行sudo apt install lsof。

2. 删除Jupyter残留运行文件

Jupyter会在runtime目录保存服务器的状态文件,这些文件损坏或残留会导致异常:

rm -rf ~/.local/share/jupyter/runtime/

3. 重置Jupyter配置(可选)

如果之前修改过配置文件导致冲突,强制生成新的默认配置:

jupyter notebook --generate-config --force

4. 在conda环境中规范启动Jupyter

  • 先确保激活目标conda环境:
    conda activate your_env_name
    
  • 更新环境内的Jupyter到最新版,避免版本兼容问题:
    conda install jupyter notebook -y
    
  • 启动时指定端口(建议用8899或其他未被占用的端口),绑定到0.0.0.0方便远程访问,同时生成新的token:
    jupyter notebook --port=8899 --ip=0.0.0.0 --NotebookApp.token="your_new_secure_token"
    
    测试时可以临时关闭token验证(生产环境不建议):
    jupyter notebook --port=8899 --ip=0.0.0.0 --NotebookApp.token='' --NotebookApp.password=''
    

5. 验证conda环境的Jupyter路径

确保你用的是conda环境内的Jupyter,而不是系统全局的:

which jupyter

正常输出应该是类似~/miniconda3/envs/your_env_name/bin/jupyter的路径,如果是系统路径,说明环境未正确激活,需要重新激活或在环境内重新安装Jupyter。


内容的提问来源于stack exchange,提问作者Sivan D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:05:34