linux shell 命令批量殺死程序
阿新 • • 發佈:2018-11-02
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 的程序