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

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

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

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

图片描述

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

——————————————分割线——————————————.net

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

相关文章
相关标签/搜索