--轉自https://blog.csdn.net/oppo62258801/article/details/81434038
1.Linux查看所有Java進程
ps -ef | grep java | grep -v grep
(是在列出的進程中去除含有關鍵字"grep"的進程)
2. 使用awk分割結果,獲取PID
awk '{print $2}'
ps -ef | grep java | grep -v grep | awk '{print $2}'
3. 殺死進程 kill -9 PID
xargs 作用是將參數列表轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題
ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
具體xargs的用法請查看https://blog.csdn.net/u011517841/article/details/53196380
4.是用jar包運行的進程,需要kill掉的話
jps -l | grep 'test.jar' | grep -v grep | awk '{print $1}' | xargs kill -9
5.有時發現jar運行的進程殺不死,很可能是僵屍進程,需要把父進程殺掉
cat /proc/$(jps | grep 'jar' | awk '{print $1}' |awk 'NR==1{print}')/status | grep 'PPid' | awk '{print $2}' | xargs kill -9