红联Linux门户
Linux帮助

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

发布时间:2016-04-20 15:37:04来源:linux网站作者:MarkCo

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


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

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

另外试过killall、pkill命令并不能kill。

Linux如何根据进程名称的一部分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


本文永久更新地址:http://www.linuxdiyf.com/linux/19932.html