这篇文章主要介绍了如何解决windows系统和linux系统中端口被占用的问题的相关资料,需要的朋友可以参考下
一、在windows操作系统中,查询端口占用和清除端口占用的程序
提升权限后用:netstat -b
或用
1、查询端口占用的进程ID
???????? 点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:
netstat -a -n? 各个端口占用 netstat -ano?? 各个端口占用和进程PID ???????? netstat -aon | findstr "80" ???? C:\Users\admin>netstat -aon|findstr "80" ? TCP??? 127.0.0.1:9080???????? 0.0.0.0:0????????????? LISTENING?????? 4632
2、查看端口号所对应的应用程序
?????? tasklist | findstr "? 4632" ????? 补充: tasklist /fi "pid eq 4632" GROOVE.EXE 4632 Console 1 84,880 K 很明显,是GROOVE.EXE 占用了80端口,GROOVE.EXE 一个IE的ACTIVEX控件。
3、终止进程
??????? taskkill /pid 4632 /F?
???? 或则使用 taskkill /f /t /im GROOVE.exe
再次查询是否成功终止
??? tasklist | findstr "4632"
如果成功终止此次执行命令后应返回空.,则表示成功,终止 PID 为 4632 的进程。
二、在Linux操作系统中,查询端口占用和清除端口占用的程序
1、查询端口号占用,根据端口查看进程信息
[root@server2 ~]# lsof -i:80 COMMAND? PID?? USER?? FD?? TYPE DEVICE SIZE NODE NAME httpd?? 5014?? root??? 3u? IPv4? 14346?????? TCP server2:http (LISTEN)
2、根据进程号查看进程对应的可执行程序
ps -f -p 进程号 # ps -f -p 5014 UID??????? PID? PPID? C STIME TTY????????? TIME CMD root????? 5014???? 1? 0 17:26 ???????? 00:00:00 /usr/local/apache/bin/httpd -k
3、根据可执行程序查看动态链接
ldd 可执行文件名 ldd? /usr/local/apache/bin/httpd ??????? linux-vdso.so.1 =>? (0x00007fff9dc90000) ??????? libaprutil-0.so.0 => /usr/local/apache/lib/libaprutil-0.so.0 (0x00002af026fcd000)??
4、根据端口号得到其占用的进程的详细信息
netstat -tlnp|grep 80 tcp??????? 0????? 0 192.168.33.10:80??????????? 0.0.0.0:*?????????????????? LISTEN????? 5014/httpd
本文系转载,前往查看
如有侵权,请联系?cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系?cloudcommunity@tencent.com 删除。