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

2017-12-29 12:05:59 +08:00
 geekyoung

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 友这是啥么原因,可以关掉吗?

2880 次点击
所在节点    程序员
18 条回复
geekyoung
2017-12-29 12:11:29 +08:00
想不明白啊
whwq2012
2017-12-29 12:13:23 +08:00
再用 ps aux | grep port 看看到底是哪些进程占了端口
feather12315
2017-12-29 12:15:12 +08:00
`sudo losf -i :port` 看看 port 端口哪个进程在用
geekyoung
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
2017-12-29 12:33:48 +08:00
@feather12315 输出是 jupyter 好像确实是 jupyter 的进程在占用,为什么 jupyter 会占用那么多的端口呢?
ytlm
2017-12-29 13:12:17 +08:00
不是可以直接找到具体进程的嘛,看看咯
geekyoung
2017-12-29 14:24:58 +08:00
@ytlm 找到进程了,但是不明白为什么会这样啊
lance6716276
2017-12-29 16:32:02 +08:00
每个 notebook 用一个 socket 啊,不然怎么办
geekyoung
2017-12-29 19:29:18 +08:00
@lance6716276 但是我基本只有我的笔记本上 jupyter 和服务器建立一个 socket,为什么有这么多 socket ?
lance6716276
2017-12-29 20:31:14 +08:00
@geekyoung 你看一眼有几个 running 的 notebook
forestyuan
2017-12-29 22:10:57 +08:00
可能是本机的进程间通信吧
msg7086
2017-12-30 02:41:00 +08:00
监听的是 127.0.0.1,只能本地通信啊。
inflationaaron
2017-12-30 09:53:15 +08:00
jupyter 会开 mq 与 kernel 通信
geekyoung
2017-12-30 21:58:46 +08:00
@forestyuan 不是本机进程 查了 pid 就是 jupyter
geekyoung
2017-12-30 21:59:22 +08:00
@inflationaaron 意思是 jupyter 搞得鬼?
geekyoung
2017-12-30 22:00:16 +08:00
@msg7086 恩 是的=本地通信,就是不明白为什么 jupyter 会自动开放这么多本地端口
inflationaaron
2017-12-31 18:04:43 +08:00
@geekyoung 嗯,notebook 与 kernel 之间的通信。
geekyoung
2018-01-12 17:12:00 +08:00
更:问题已解决,当在客户端发起一个 jupyter 的连接后打开一个.ipynb 文件,其就处于启动状态,直接关闭页面后,这个 jupyter 还是开启状态,手动去设置里面把 kernel 关闭后,端口占用消失

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/418565

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX