如何解决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 "PID"|awk '{print "kill -9",$2}'|sh
7、手工终止进程的运行
kill 5014
如果终止不了,可以强制终止
kill -9 5014
lsof -i:80
总结:Linux下端口被占用问题解决办法
1.确认端口是否被占用:netstat -tln 9704(被占用端口号)
2.查看该端口被哪个进程占用:lsof -i 9704(被占用端口号)
3.确认没有问题之后,杀!kill -9 pid(占用该端口的进程id)
本文介绍的还算比较详细,文字说明比较多,可以先了解下,以防遇到问题不知所措,希望本文分享对大家有所帮助,谢谢。!
下一篇:win2008 r2 IIS7.5 设置强制所有文件直接下载