【TCP/IP】【调试】Linux下进程与端口号相互查看的方法
- 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
- 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
- 🌐系列专栏:TCP/IP协议
- 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
- 如需转载请参考转载须知!!
Linux下进程与端口号相互查看的方法
- 基础概念
- 通过进程名查看其占用端口
- 通过pid来查询端口占用
- 1、先查看进程pid
- 2、通过pid查看所占用端口
- 直接通过进程名来查询端口情况
- 通过端口号查进程名
基础概念
- 在Linux 网络体系中,进程与端口号通过文件描述符建立映射关系。每个网络套接字对应一个进程,端口号则是应用层的逻辑标识。掌握两者的关联关系,是排查网络故障、优化服务部署的关键技能。
// 端口绑定代码示例(TCP)
int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(8080);
bind(sock, (struct sockaddr*)&addr, sizeof(addr));
通过进程名查看其占用端口
通过pid来查询端口占用
1、先查看进程pid
- 一般常见的是使用ps来查看pid:
ps -ef | grep someprocess
- pidof 是Linux 系统中用来查找正在运行进程的进程号(pid)的工具, pidof 命令用于查找指定名称的进程的进程号 ld号:
pidof dockerd
2、通过pid查看所占用端口
- 这里可通过netstat或ss来查看:
netstat -nap | grep somepid
lsof -i | grep somepid
- 也可通过对应proc文件,来确认具体使用的端口号:
cat /proc/pid/tcp
cat /proc/pid/udp
直接通过进程名来查询端口情况
- 利用netstat、lsof等,也可以直接查看进程的端口占用情况:
netstat -tlnp | grep someprocess
lsof -i -P | grep someprocess
ss -tnlp | grep someprocess
ps -ef | grep someprocess| awk '{print $2}' | xargs -I {} netstat -pan | grep {}
通过端口号查进程名
- 利用netstat、lsof等,也可以直接查看端口被进程占用的情况:
netstat -nap | grep port
lsof -i:port
fuser -v port/tcp
ss -tnlp | grep ":22"
如本文对你有些许帮助,欢迎大佬支持我一下(点赞+收藏+关注、关注公众号等),您的支持是我持续创作的竭动力
支持我的方式