java - 如何杀死从 CentOS 目录运行的进程?

标签 java linux shell apache-spark centos

我们有一个要求,即我们拥有从不同文件夹运行的相同 Spark 应用程序(基本上是一个 .jar 文件)的副本。我正在寻找一个 shell 命令,使用它我可以杀死在一个文件夹中运行的 Spark 应用程序,而不会杀死其他 Spark 作业。
前任:

/home/user/Folder1 - CapStoneSpark.jar
/home/user/Folder2 - CapStoneSpark.jar
/home/user/Folder3 - CapStoneSpark.jar

jar 文件中的主类是“CapStoneSparkMain”。假设,我只想杀死在 Folder2 中运行的 CapStoneSpark.jar,而不接触或杀死从 Folder1 和 Folder3 运行的 CapStoneSpark.jar,那我该怎么办?
我已经尝试过:
kill $(ps aux | grep 'CapStoneSparkMain' | awk '{print $2}')
但是,它会杀死所有包含“CapStoneSparkMain”类的进程。
我只想终止源自单个目录的进程,并且不想触及从其他目录运行的进程的副本。

最佳答案

您可以找到使用这些文件夹的所有进程 ID:

lsof | grep /home/user/Folder | awk '{print "kill " $2}'
并执行它:
lsof | grep /home/user/Folder | awk '{print "kill " $2}'|sh

关于java - 如何杀死从 CentOS 目录运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63116330/

相关文章:

java - "Exception in thread "主要 "java.lang.NullPointerException"

java - Java中.indexOf方法的算法选择

c# - 如何使用 .Net Core 在 Linux 上获取当前执行目录?

xml - 提到开始和结束模式时,sed 正在删除多行

java - Spring应用的集成测试

java - 如何轻松检索 Java 中聊天应用程序的嵌套 firebase 实时数据库数据?

linux - 是否可以修改接口(interface)索引

mysql - 如何使用其他文件中的凭据以及如何在 crons 中传递 dir 位置?

linux - 一起计算 n 行的平均值

shell - 我怎样才能制作一个 "read-only variable"?