Linux 查看端口占用情况可以使用 lsof 和 netstat 命令
(如果发现这两个命令提示没有找不到的话,就需要安装相应的lsof 和 net-tools)
另外:
ps -ef|grep 进程PID
可以获取已经知道进程ID的进程更多信息
kill -9 进程PID
命令则可以直接杀死相应进程。
这几个命令配合起来,可以完成这样一个任务:
希望查看8080进程被哪个进程占用,如果这个端口有被进程占用,就杀死该进程和它的子进程。
首先第一步,查看8080端口被哪个进程占用。
方式一:
lsof(list open files)是一个列出当前系统打开文件的工具。
一般格式为:
lsof -i:端口号
lsof -i 命令需要root用户权限来执行,否则什么都看不到。
以root用户权限执行以下命令:
lsof -i:8080
看到
方式二:
netstat命令
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
这里我们就输入:
netstat -tunlp|grep 8080
看到:
我们想查看进程更多信息时候,我们就用下面的命令:
ps -ef|grep 进程PID
刚才看到占用8080端口的,有进程PID为15181和15182
我们用ps -ef命令看看
ps -ef|grep 15181
看到:
最下面那个不用看,是我们的ps命令,上面两个可看出15182进程的父进程PID为15181,这两个进程是父子关系。
用
kill -9 15181
kill -9 15182
杀死这两个占用8080端口的进程。
至于为什么是kill -9 而不是其他的,这个9有什么含义呢?
可以看这篇:kill与kill -9的区别