想必大家在部署环境启动服务的时候,会遇到服务起不起来的问题,看日志,说是端口被占用了。
有的时候,我们不想改端口,那么,就需要去查看到底是哪个应用把这个端口给占用了,然后干掉它即可。
下面分别列举linux和windows下根据端口查找服务的进程的小技巧。
linux下查看占用端口的进程
(1)查找哪个进程占用了8091端口
netstat -ntpl | grep 8091,其中:
n表示拒绝显示别名,能显示数字的全部转化成数字
t表示只显示tcp
p表示显示建立相关链接的程序名
l表示仅列出有在 Listen (监听) 的服务状态
(2)找出对应pid的进程详细信息
ps -ef | grep 8091
有时,也可以通过进程的启动目录确定是哪个服务
pwdx 8091
(3)杀掉该进程
kill -9 8091
windows下查看占用端口的进程
如果报:OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试,多半都是端口被占用了,换一个端口即可
(1)查找哪个进程占用了8080端口
netstat -ano|findstr 8080
(2)找出对应pid的进程详细信息
tasklist |findstr 3168
(3)杀掉该进程
taskkill /pid 3168 /F
或:taskkill /F /PID 3168
/F,指定要强行终止进程。
/PID,指定要终止的进程的PID
这样8080端口就是释放了。
通过任务管理器,也可以看出,3168进程是java进程