V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
geekyoung
V2EX  ›  程序员

v 友们, Linux 小白问一个关于服务器端口占用的问题

  •  
  •   geekyoung · 2017-12-29 12:05:59 +08:00 · 2804 次点击
    这是一个创建于 2318 天前的主题,其中的信息可能已经有所发展或是发生改变。

    aliyun 的服务器,设置安全组,管理几个常用的端口,挺方便的。 但今天在控制台,使用 netstat -anpt 命令,发现 python3 占用了好几个端口,也不晓得是什么情况,

    tcp        0      0 127.0.0.1:59186         0.0.0.0:*               LISTEN      8087/python3
    tcp        0      0 127.0.0.1:34836         0.0.0.0:*               LISTEN      8087/python3
    tcp        0      0 127.0.0.1:42903         0.0.0.0:*               LISTEN      8087/python3
    tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      8076/python3
    tcp        0      0 127.0.0.1:50873         0.0.0.0:*               LISTEN      8087/python3
    tcp        0      0 127.0.0.1:45411         0.0.0.0:*               LISTEN      8087/python3
    tcp        0      0 127.0.0.1:37572         0.0.0.0:*               LISTEN      8087/python3
    

    ————————————————————————————————————————————————————

    tcp        0      0 127.0.0.1:37572         127.0.0.1:33252         ESTABLISHED 8087/python3
    tcp        0      0 127.0.0.1:45838         127.0.0.1:45411         ESTABLISHED 8076/python3
    tcp        0      0 127.0.0.1:45411         127.0.0.1:45838         ESTABLISHED 8087/python3
    tcp        0      0 127.0.0.1:42644         127.0.0.1:37572         ESTABLISHED 8076/python3
    tcp        0      0 127.0.0.1:42903         127.0.0.1:54524         ESTABLISHED 8087/python3
    

    我仅仅在 8888 开放了一个 jupyter,为什么会占用那么多本机的端口呢?而且后面还这一堆本机自连,强迫症患者看着难受啊,请问 v 友这是啥么原因,可以关掉吗?

    18 条回复    2018-01-12 17:12:00 +08:00
    geekyoung
        1
    geekyoung  
    OP
       2017-12-29 12:11:29 +08:00
    想不明白啊
    whwq2012
        2
    whwq2012  
       2017-12-29 12:13:23 +08:00 via Android
    再用 ps aux | grep port 看看到底是哪些进程占了端口
    feather12315
        3
    feather12315  
       2017-12-29 12:15:12 +08:00 via Android
    `sudo losf -i :port` 看看 port 端口哪个进程在用
    geekyoung
        4
    geekyoung  
    OP
       2017-12-29 12:32:51 +08:00
    @whwq2012 使用 ps aux | grep port 无输出,使用 ps aux | grep pid
    ➜ ~ ps -aux | grep 8076
    root 8076 0.0 2.7 464308 51504 ? Sl 12 月 23 0:57 /usr/bin/python3 /usr/bin/jupyter-notebook --ip=0.0.0.0 --allow-root /root/jupyter
    ➜ ~ ps -aux | grep 8087
    root 8087 0.0 6.9 1144296 130920 ? Ssl 12 月 23 0:30 /usr/bin/python3 -m ipykernel_launcher -f /run/user/0/jupyter/kernel-30d2a569-6f72-4196-9c4d-07646b640876.json
    好像确实是 jupyter 的进程在占用,为什么 jupyter 会占用那么多的端口呢?
    geekyoung
        5
    geekyoung  
    OP
       2017-12-29 12:33:48 +08:00
    @feather12315 输出是 jupyter 好像确实是 jupyter 的进程在占用,为什么 jupyter 会占用那么多的端口呢?
    ytlm
        6
    ytlm  
       2017-12-29 13:12:17 +08:00
    不是可以直接找到具体进程的嘛,看看咯
    geekyoung
        7
    geekyoung  
    OP
       2017-12-29 14:24:58 +08:00 via Android
    @ytlm 找到进程了,但是不明白为什么会这样啊
    lance6716276
        8
    lance6716276  
       2017-12-29 16:32:02 +08:00 via Android
    每个 notebook 用一个 socket 啊,不然怎么办
    geekyoung
        9
    geekyoung  
    OP
       2017-12-29 19:29:18 +08:00
    @lance6716276 但是我基本只有我的笔记本上 jupyter 和服务器建立一个 socket,为什么有这么多 socket ?
    lance6716276
        10
    lance6716276  
       2017-12-29 20:31:14 +08:00 via Android
    @geekyoung 你看一眼有几个 running 的 notebook
    forestyuan
        11
    forestyuan  
       2017-12-29 22:10:57 +08:00
    可能是本机的进程间通信吧
    msg7086
        12
    msg7086  
       2017-12-30 02:41:00 +08:00
    监听的是 127.0.0.1,只能本地通信啊。
    inflationaaron
        13
    inflationaaron  
       2017-12-30 09:53:15 +08:00
    jupyter 会开 mq 与 kernel 通信
    geekyoung
        14
    geekyoung  
    OP
       2017-12-30 21:58:46 +08:00
    @forestyuan 不是本机进程 查了 pid 就是 jupyter
    geekyoung
        15
    geekyoung  
    OP
       2017-12-30 21:59:22 +08:00
    @inflationaaron 意思是 jupyter 搞得鬼?
    geekyoung
        16
    geekyoung  
    OP
       2017-12-30 22:00:16 +08:00
    @msg7086 恩 是的=本地通信,就是不明白为什么 jupyter 会自动开放这么多本地端口
    inflationaaron
        17
    inflationaaron  
       2017-12-31 18:04:43 +08:00
    @geekyoung 嗯,notebook 与 kernel 之间的通信。
    geekyoung
        18
    geekyoung  
    OP
       2018-01-12 17:12:00 +08:00
    更:问题已解决,当在客户端发起一个 jupyter 的连接后打开一个.ipynb 文件,其就处于启动状态,直接关闭页面后,这个 jupyter 还是开启状态,手动去设置里面把 kernel 关闭后,端口占用消失
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2331 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:03 · PVG 19:03 · LAX 04:03 · JFK 07:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.