shell 批量搜索进程名并杀死这些进程
ps -ef |grep /logstash |awk '{print $2}'|xargs kill -9
ps -ef |grep /logstash
搜索logstash
的进程
awk '{print $2}'
读入有'\n'
换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0
则表示所有域,$1
表示第一个域,$n
表示第n
个域。默认域分隔符是"空白键"
或"[tab]键"
,所以$1
表示登录用户,$2
表示进程ID
xargs kill -9
xargs 可以读入 stdin 的资料,并且以空白字元或断行字元作为分辨,将 stdin 的资料分隔成为 arguments 。 因为是以空白字元作为分隔,所以,如果有一些档名或者是其他意义的名词内含有空白字元的时候, xargs 可能就会误判了,如果需要处理特殊字符,需要使用-0
或其他参数进行处理。
xargs及常见用法
https://blog.csdn.net/csyuanA/article/details/76408836
http://czmmiao.iteye.com/blog/1949225
shell 搜索占用端口的进程并杀死
kill -9 $(lsof -i tcp:8080 -t)
杀死 8080 的进程