服务器出了点故障,需要强行杀掉一批进程,如果一个一个去杀比较麻烦,总结了两条简便快捷的语句,方便使用在此记录分享一下。
第二列数字即是PID进程号,第三列数字即是PPID进程号,只需要提取第二列数字即可,因为PPID是进程的父进程。
方法一:
#ps -ef|grep sap|awk '{print $2}' 使用AWK提取第二列进程ID数字
请确认后执行
#kill -9 'ps -ef|grep sap|grep -v grep |awk '{print $2}''
即可杀掉全部的SAP进程,然后#ps -ef|grep sap确认一下就行了。
方法二:
#ps -ef|grep sap|grep -v grep |cut -c 9-15 使用CUT提取第二列进程ID数字
确认后使用#ps -ef|grep sap|grep -v grep |cut -c 9-15|xargs kill -9 全部杀掉
然后#ps -ef|grep sap
再次检查确认一下就行了。
补充:
cut命令可以从一个文本文件或者文本流中提取文本列
cut命令可以从一个文本文件或者文本流中提取文本列
命令用法:
cut -b list [-n] [file ...]
cut -c list [file ...]
cut -f list [-d delim][-s][file ...]
-b、-c、-f分别表示字节、字符、字段(即byte、character、field);
list表示 -b、-c、-f操作范围,-n常常表示具体数字;
list表示 -b、-c、-f操作范围,-n常常表示具体数字;
file表示的自然是要操作的文本文件的名称;
delim(英文全写:
delimiter)表示分隔符,默认情况下为TAB;
-s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)
范围的表示方法:
N 只有第N项
N- 从第N项一直到行尾
N-M 从第N项到第M项(包括M)
-M 从一行的开始到第M项(包括M)
- 从一行的开始到结束的所有项
N 只有第N项
N- 从第N项一直到行尾
N-M 从第N项到第M项(包括M)
-M 从一行的开始到第M项(包括M)
- 从一行的开始到结束的所有项