linux杀死指定端口的进程
1.查看端口
终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080)
将会出现占用端口的进程信息。
2.kill进程
找到进程的pid,使用kill命令:kill pid(进程的pid,如50684),杀死对应的进程
[root@zjj101 bin]# lsof -i tcp:80 command pid user fd type device size/off node name openresty 110655 nobody 6u ipv4 1640280 0t0 tcp *:http (listen) [root@zjj101 bin]# kill 110655 [root@zjj101 bin]# lsof -i tcp:80 [root@zjj101 bin]#
-bash: lsof: 未找到命令 怎么处理
执行 yum install lsof
[root@zjj101 bin]# lsof -i tcp:80 -bash: lsof: 未找到命令 [root@zjj101 bin]# yum install lsof
linux删除某个端口进程的多种方式
在操作linux系统时,我们经常需要删除掉某个端口的进程。
一般过程就是查询出占用该端口的进程,然后通过进程的pid将其kill掉
kill命令
linux kill 命令用于删除执行中的程序或工作。
kill 可将指定的信息送至程序。预设的信息为 sigterm(15),可将指定程序终止。
若仍无法终止该程序,可使用 sigkill(9) 信息尝试强制删除程序。
使用 kill -l 命令列出所有可用信号。
最常用的信号是:
- 1 (hup):重新加载进程。
- 9 (kill):杀死一个进程。
- 15 (term):正常停止一个进程。
方式一:lsof命令
使用lsof,如果出现以下提示,那么说明没有安装lsof命令
-bash: lsof: 未找到命令
使用以下命令进行安装即可:
yum install lsof
1、查看占用端口进程的pid
lsof -i:{端口号}
实例:
[root@localhost sbin]# lsof -i:80 command pid user fd type device size/off node name nginx 1336 nobody 6u ipv4 28160 0t0 tcp *:http (listen) nginx 4168 nobody 6u ipv4 28160 0t0 tcp *:http (listen) nginx 4169 nobody 6u ipv4 28160 0t0 tcp *:http (listen)
2、根据pid kill掉相关进程,直接使用kill无法删除时,再用kill -9进行删除
kill -9 {pid}
实例
[root@localhost sbin]# kill -9 1336
方式二:netstat命令
1、查看占用端口进程的pid
netstat -tunlp|grep {port}
实例:
[root@localhost sbin]# netstat -tunpl |grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* listen 8197/nginx: master tcp6 0 0 :::80 :::* listen 8197/nginx: master
实例所示的8197即是pid
2、根据pid kill掉相关进程
kill -9 {pid}
方式三:使用ps
如果只知道某个进程的名称,那么使用ps也可以得到该进程的pid
使用以下命令即可,{name}表示你要查找的进程名
ps -aux | grep {name}
注:你还可以将{name}换成{pid},即可以查到相关pid的进程
返回结果参数如下:
user pid %cpu %mem vsz rss tty stat start time command
返回结果第二例即是pid
实例:
ps -aux |grep nginx
返回:
common 10746 0.0 0.0 18584 576 ? ss jun11 0:00 nginx: master process ./nginx
如果你不想那么麻烦,你还可以直接使用pgrep命令,该命令直接返回进程的pid
实例:
pgrep nginx
返回
10746
25645
获取到pid之后,直接kill掉即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论