Linux/mac 查看端口占用进程

项目启动时遇到Java网络异常,提示端口50051已被占用。使用lsof命令检查时发现查询结果为空,实际上端口telnet可达。问题在于普通用户权限不足,无法查看由root用户启动的占用端口进程。解决方案是使用sudo获取root权限再执行lsof命令,从而找到端口占用的进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目在本地启动报java.net.BindException: Address already in use端口被占

就用lsof命令查看了一下商品占情况

lsof -i tcp:50051

但是查不到端口,结果为空,telnet 127.0.0.1 50051又是通的,找了几天也没找到端口被占情况

最终发现是查询权限不够,因为登陆的是普通用户,所以不是当前用户下的进程查询不到,而占用端口的进程是root用户启动的,所以一直查不到,重新执行以下,返回了端口占用进程

sudo lsof -i tcp:50051

大家以后注意,如果要查所有用户的端口情况,可以使用sodo切到root权限,或者切到root用户等权限比较大的用户。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值