进程名字一样的情况下,杀掉想要结束的进程

前言

你在做多实例实验的时候有没有很头痛的时候,多实例启动了服务的端口和配置信息都改掉了,但是处了点小问题,自己的服务配置文件有点错误。需要杀掉进程停掉服务,但进程的名字一摸一样,除去PID不一样其他没啥区别,这叫人很头痛。在真正的生产环境下杀错服务,导致真个生产环境宕机,停止工作会给用户带来很不好的体验感。
出现这种情况应该如何办呢?

错误模拟

实验环境

主机名称IP软件服务状态
localhost192.168.1.30nginx_01运行
localhost192.168.1.30nginx_02运行
localhost192.168.1.30nginx_03运行

实验开始

下列是在一台服务器上开启,三个nginx的多实例,想要杀掉想要的进程是不是有点难度呢?

[root@localhost html]# ps -aux | grep nginx
root      66145  0.0  0.0  39308   944 ?        Ss   Dec14   0:00 nginx: master process /usr/sbin/nginx
nginx     66147  0.0  0.1  41780  1824 ?        S    Dec14   0:00 nginx: worker process
root      74049  0.0  0.0  20572   628 ?        Ss   02:42   0:00 nginx: master process nginx_01/sbin/nginx
nginx     74050  0.0  0.1  23104  1384 ?        S    02:42   0:00 nginx: worker process
root      74052  0.0  0.0  20572   632 ?        Ss   02:42   0:00 nginx: master process nginx_02/sbin/nginx
nginx     74053  0.0  0.1  23104  1384 ?        S    02:42   0:00 nginx: worker process
root      74063  0.0  0.0 112812   980 pts/0    R+   02:42   0:00 grep --color=auto nginx

解决方案:

第一种方法:可以查看进程后边的文件启动路径,找到文件的位置。
第二种方法:可以通过端口号判断,服务的进程
第三种方法:可以查看文件/目录的进程编号,和服务的进程相对应的kill掉。

第一种方法:

这是根据查看文件启动的路径实现的找到服务的进程。万一这后边路径显示也是一摸一样该如何是好?
在这里插入图片描述

第二种方法:

这样查看也可以,但是这种方法要知道你开放的端口号是多少才可以准确的找到服务所在。
在这里插入图片描述

第三种方法:

根据文件/目录的PID来进行查看系统服务的进程,在kill掉相应的进程。前提服务器上的装有lsof的这条命令。
在这里插入图片描述

第三种方法:

可以根据服务进程的启动时间,判断进程是否是你想要的那个进程。方法就是使用ps -o加上指定参数查看进程启动时间、运行时间。

下列是-o的参数

参数解释
pid进程ID号
tty终端
user用户
comm进程名称
command进程拓展名称/别名
lstart进程开始时间
etime进程运行时间

在这里插入图片描述
Linux:检测脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值