java - 如何在一小时后杀死特定的 java 文件,而不知道它的特定 PID?

标签 java windows batch-file

目前我的批处理文件将启动 20 个具有不同参数的 jar,一小时后,taskkill 命令会杀死所有 java,批处理文件现在将启动 20 个不同的 jar。

我的问题是,启动时的最大 cpu 使用率,并且稍后可能会浪费 cpu。我可以在不同的时间启动 jar 文件,但它们不会运行相同的时间。 CPU 使用率减半最多需要 5 分钟。

我需要启动一个 jar 文件,然后在一小时内杀死它,而不触及其他 19 个 jar 文件,也不知道 PID。

我一直在浏览网页,看到一些关于将其设为后台进程,然后以这种方式获取 PID 的内容,有人可以帮我解决这个问题吗?

这就是现在的样子

java -jar file.jar -a first
timeout 3
java -jar file.jar -a second
timeout 3
java -jar file.jar -a third
timeout 3

最佳答案

使用jps.exe实用程序(它是标准JDK的一部分)来了解刚刚启动的Java进程的PID。然后使用taskkill/pid杀死这个进程。

关于java - 如何在一小时后杀死特定的 java 文件,而不知道它的特定 PID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39186708/

相关文章:

batch-file - 使用批处理文件将多个 xml 文档合并为一个大文档

java - 作为 URL 参数值的分隔列表

java - 如何在Spring中使用占位符处理对象列表

windows - Unix 和 Windows 的命令行 GUID?

c# - 如何更改 Windows 资源管理器中使用的图标?

windows - 如何在windows中获取文件名?

java - 获取与 POJO 变量的最大值匹配的所有 POJO 项

java - 当您滚动项目时,Android ListView 适配器会改变颜色

windows - 在 MiniCPAN 镜像上运行 CPAN::Tarzip 的问题

包含二进制可执行文件的 Windows 批处理脚本