Linux如何根据进程名称的一部分kill掉进程

本文介绍了一种在Linux环境下根据进程名称的一部分精确终止进程的方法。针对使用ps、grep结合awk和xargs命令组合时可能出现的问题,提供了两种解决方案:一是利用pkill命令结合-f选项实现灵活匹配并终止进程;二是通过添加xargs的--no-run-if-empty选项避免当目标进程不存在时执行无效的kill命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux如何根据进程名称的一部分kill掉进程

ps -ef | grep javadeploy.jar | grep -v grep | awk '{print $2}' | xargs kill

上面这条命令的意思是先通过ps将进程ID得到,然后再kill。但是有一个问题,就是如果这个进程不存在,kill就会出错。如何在这条命令上加个判断,如果存在则运行kill,不存在则不执行kill。

图片描述

另外试过killall、pkill命令并不能kill。
图片描述

——————————————分割线——————————————

该问题已经解决,给出解决方法:
1、由于是根据参数的一部分kill,所以直接使用pkill javadeploy.jar不行,但是可以使用pkill -f javadeploy.jar来kill该进程;
2、@小_秦 提供的方法,加上xargs后面--no-run-if-empty,即ps -ef | grep javadeploy.jar | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill


转载于:https://my.oschina.net/markco/blog/662927

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值