欲通过命令ps -aux | grep 进程名
返回某进程的进程号,再通过kill杀掉改进程,在这个过程中,如果grep不能匹配到正确的进程号,则grep本身会产生一条(并不是对应进程的进程号),并且这条信息的pid一直在变化。
-
剔除掉grep本身产生的一条输出,在命令后面加上-v grep :
-
命令:
ps -aux | grep xxxx| grep -v grep
-
如何从ps aux的结果中提取pid?
我们如果想要取出其中的PID,用于之后的操作,例如kill,则首先应该使用tr命令压缩各个列之间的空格,将多个空格压缩为一个,接着使用cut命令根据空格对列进行分割并取出第二个位置的值,也就是PID。然后将结果输入到kill命令。如下所示:
kill $(ps aux | grep 进程名 | tr -s ' '| cut -d ' ' -f 2)