查看进程和端口号
在 Linux 系统中,ps -ef 命令主要用于查看进程信息(如 PID、用户、CPU 占用等),但无法直接显示端口号。若需查看进程关联的端口号,需结合其
在 Linux 系统中,ps -ef 命令主要用于查看进程信息(如 PID、用户、CPU 占用等),但无法直接显示端口号。若需查看进程关联的端口号,需结合其他命令(如 netstat、lsof 或 ss)。以下是具体方法:
1. 查看进程信息(ps -ef)
ps -ef | grep 进程名
功能:列出所有进程,并通过 grep 过滤目标进程(如 nginx、java)。
输出字段:
UID:运行进程的用户
PID:进程 ID
PPID:父进程 ID
CMD:启动命令(含参数)
2. 通过进程 PID 查找端口号
方法一:使用 netstat 或 ss
netstat -tulnp | grep PID
# 或(更现代的替代方案)
ss -tulnp | grep PID
参数说明:
-t:TCP 协议
-u:UDP 协议
-l:仅显示监听端口
-n:显示数字格式(不解析服务名)
-p:显示关联进程 PID 和名称
方法二:使用 lsof
lsof -i -P -n | grep PID
# 或直接查端口
lsof -i :端口号
参数说明:
-i:显示网络连接
-P:禁用端口号转服务名(如显示 80 而非 http)
-n:禁用 IP 转主机名
3. 直接查找监听端口的进程
若已知端口号(如 8080),可直接运行:
netstat -tulnp | grep :8080
# 或
lsof -i :8080
输出示例:tcp6 0 0 :::8080 :::* LISTEN 1234/java
表示 PID 1234 的 Java 进程正在监听 8080 端口
4. 常见问题
ps -ef 不显示端口号:需通过 netstat/lsof 等网络工具关联 PID 查询。
权限不足:部分命令需 sudo 执行(如 lsof -i 需要 root 权限查看所有进程)。
总结步骤:
用 ps -ef | grep 进程名 获取目标 PID。
用 netstat -tulnp | grep PID 或 lsof -i -P -n | grep PID 查找端口号。
或直接通过端口号反查进程:lsof -i :端口号。