Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 只杀死特定Java jar的进程(实例)_Linux_Bash_Grep_Kill - Fatal编程技术网

Linux 只杀死特定Java jar的进程(实例)

Linux 只杀死特定Java jar的进程(实例),linux,bash,grep,kill,Linux,Bash,Grep,Kill,我需要创建自动脚本,它会终止特定Java JAR的运行进程 我是这样手动操作的: jps -v 6753 Jps 4573 myJarToKill.jar 4574 notMyJarToKill.jar 4576 myJarToKill.jar 我根据JAR名称选择特定的进程,例如myJarToKill.JAR,然后运行以杀死它们 kill 4573 4576 有没有可能通过grep或类似的方法获得这些进程的数量?传给杀戮的命令 kill `jps -v |grep myJarToKi

我需要创建自动脚本,它会终止特定Java JAR的运行进程

我是这样手动操作的:

jps -v

6753 Jps
4573 myJarToKill.jar
4574 notMyJarToKill.jar
4576 myJarToKill.jar
我根据JAR名称选择特定的进程,例如myJarToKill.JAR,然后运行以杀死它们

kill 4573 4576  
有没有可能通过grep或类似的方法获得这些进程的数量?传给杀戮的命令

kill `jps -v |grep myJarToKill|cut -f1 -d " "`

cut-f1-d”“
是提取第一个“列”的部分。'get executed'中的命令,结果作为要终止的参数提供。

要使用的命令是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>
然后,如果输出结果包含要终止的pid,则可以运行此

jps -v  | grep "myJarToKill.jar" | awk '{print $1}'|xargs kill -9 
注意:您也可以使用
kill-TERM
这取决于您的需要

问候
Claudio

您可以grep输入jar名称,使用sed只获取号码(删除行的其余部分),然后执行for循环,为每个号码调用kill了解
jps -v  | grep "myJarToKill.jar" | awk '{print $1}'|xargs kill -9