Ubuntu 下根据端口查进程 pid 杀进程
叮嘟!最近做项目学习用到了Ubuntu,在刚开始的摸索过程踩了不少雷,写篇博客分享一下踩雷经验。
1、问题描述
解决端口被占用的情况
2、解决问题
(1)根据端口查pid进程
sudo lsof -i:端口号
实例如图:表示没有进程占用80端口。
命令lsof,再以查找占用端口80为例,用法如下:
(i)没有进程占用80端口时。
[root@localhost nginx]# lsof -i:80
[root@localhost nginx]#
(ii)有进程占用80端口时。
[root@localhost sbin]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 8246 root 6u IPv4 64233 0t0 TCP *:http (LISTEN)
nginx 8247 nobody 6u IPv4 64233 0t0 TCP *:http (LISTEN)
[root@localhost sbin]#
以上为进程ID为 8246 和 8247 的nginx应用占用80端口。
(2)杀进程
关闭使用端口的进程,从上面的命令查询到端口使用的进程,执行下面命令关闭:
sudo kill PID号
如果以上关闭不了,就强制关闭,如下:
kill -9 PID号
实例如图:
此处演示关闭redis服务进程,pid为214。
注意对比上下图进程号为214的redis-server被kill命令关闭。
3、更多拓展
关于查看进程pid:
ps laf
(2)查看使用内存情况:
ps aux|grep process_name
例图:查看redis进程的内存使用状况
(3)查看/proc/process_id/文件夹下的status文件
top -d 1 -p pid [,pid …] //设置为delay 1s,默认是delay 3s
例图:查看进程ID为1的状态文件:
(4)关于/proc/process_id/文件夹下的status文件:
欧克啦。
关于Ubuntu的更多学习使用随后再来吧!
就酱,嘎啦!
注: