我需要创建自动脚本,该脚本会杀死特定Java JAR的运行进程。
我是这样手动进行的:
jps -v
6753 Jps
4573 myJarToKill.jar
4574 notMyJarToKill.jar
4576 myJarToKill.jar
我根据JAR名称选择特定的进程,例如myJarToKill.jar并运行以杀死它们。
kill 4573 4576
是否可以像这样通过grep或sth获取此进程的数量?一个通过它来杀死命令?
最佳答案
使用的命令是grep,awk和xargs unix命令的组合:
jps -v | grep "<your file name>" | grep -v "<if you need to exclude other output>" |awk '{print $<field number>}'|xargs kill -<kill signal>
在执行之前,请阅读以下说明:
首先运行以下命令:
jps -v | grep“myJarToKill.jar” | awk'{print $ 1}'
如果“notMyJarToKill.jar”仍然存在,请添加以下内容:
jps -v | grep "myJarToKill.jar" | grep -v "notMyJarToKill.jar"| awk '{print $1}'
然后,如果输出结果包含您要杀死的pid,则可以运行此命令
jps -v | grep "myJarToKill.jar" | awk '{print $1}'|xargs kill -9
问候
克劳迪奥
关于linux - 仅杀死特定Java jar的进程(实例),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34942013/