最近项目在本地启动报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用户等权限比较大的用户。
项目启动时遇到Java网络异常,提示端口50051已被占用。使用lsof命令检查时发现查询结果为空,实际上端口telnet可达。问题在于普通用户权限不足,无法查看由root用户启动的占用端口进程。解决方案是使用sudo获取root权限再执行lsof命令,从而找到端口占用的进程。
1万+

被折叠的 条评论
为什么被折叠?



