终止进程
终止进程
背景
服务器上有一些野进程,处于睡眠状态,尝试了以下几种方法都不行
ps -ef | grep username | grep -v grep | cut -c 9-15 | xargs kill -9
kill -9 $(ps -ef | grep username)
kill -9 $(ps -ef | grep sleep)
ps -ef | grep username
kill -9 pid
解决办法
一个个删太麻烦了,于是就想到了打印出我所有的PID,然后一次终结。
打印当前用户所有PID的命令
ps -ef | grep username | awk'{print $2}'
这里$1还是$2自行调整,它表示每一行的第几个字段。我这里$1输出的是用户名,$2输出的是PID。但是还是差点,我们使用kill -9 后面多个PID之间是要空格隔开的,但是上面命令输出的是换行的。所以修改下输出格式。
ps -ef | grep username | awk'{printf "%s ", $2}'
于是结合$可以传参数,就可以复制粘贴上面命令的输出到下面命令中即可。
kill -9 pids
总结
还是用的kill -9 ,只不过多了一个把所有符合条件的pid都按指定格式答应出来,再复制粘贴。
awk
是一种强大的文本处理工具,通常用于处理文本文件中的结构化数据。它允许您按行读取文本文件,并根据定义的规则进行数据的提取、转换和格式化。