在使用linux时,有时会出现想使用的端口被占用的情况,我们最简单的处理方式是查找到对应的进程id,然后杀掉

例如使用netstat 命令查看端口的使用情况,例如查看8080端口的占用情况

样式: netstat -tlnp | grep 8080

从结果看占用的程序id是30061,如果我们想要解除端口占用,只需执行 

kill  30061   或者   kill -9 30061

但是单纯杀掉进程我们会担心影响到其他服务,因此我们需要查看是什么服务占用的,或者进程是从哪里被启动的

一般我们执行

 ps -aux | grep pid

就可以查看当前线程的启动情况

有时进程启动方式比较特别,这样无法直接查到启动位置,可以执行如下的命令查看启动位置

ls -l /proc/pid | grep cwd

我们知道/proc/pid 是linux提供的通过文件系统访问某一进程的访问接口 ,是存在于内存中的

通过ls -l /proc/pid 可以查看记录当前进程相关信息的内容

如果要筛选启动目录可以执行如下命令

ls -l /proc/pid | grep cwd 

例如

也可以执行下面的命令查找启动目录,但是查找比较慢

lsof -p pid | grep cwd

例如

找到对应的启动目录,就可以进入查看是什么服务,以确定是否能够解除端口占用,kill使用需谨慎