java - java中如何杀死特定进程

标签 java process

大家好,我的 java 应用程序中有两个进程,如下所示。

Process p1=some process;
Process p2=some process;

第一次它开始完美工作。但是当我重新加载应用程序时,旧进程也在运行,所以我只想杀死旧进程(如果它正在执行)。我知道我们可以通过使用其进程来终止进程id。但是我怎样才能获得这个p1和p2的进程id。有什么想法吗?

最佳答案

捕获应用程序中的重新加载事件并在退出之前终止子进程。

如果这不起作用,您的设计中可能存在错误。尝试修复该错误。真的。我是说真的。

解决方法是将 PID 写入文本文件。开始时,阅读文本文件,检查这是否是正确的进程,然后终止它。

如果没有检查,您可能会杀死由其他人创建的完全有效的进程。我的推理是这样的:重新加载时无法终止该进程。这意味着您也无法删除该文本文件。所以PID文件会一直存在。最终,您将杀死错误的进程。这种情况每年都会发生一次。这将在您离开/换工作/等六个月后第一次发生。没有人会理解发生了什么,因为它几乎不可能重现。

关于java - java中如何杀死特定进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680843/

相关文章:

java - 在哪里可以获取 OneDrive MSA 身份 validator ?

java - 有没有办法动态创建对象?

java - 如何编写单元测试以确保类定义未被修改?

Java:通过进程控制浏览器

c# - 如何确定退出代码来自哪里?

c - 如何从 C 程序调用可执行文件(使用 winapi)?

tomcat - 不执行shutdown.sh删除Tomcat

java - android - Google places 打开 map 1 秒后关闭

java - Android:将卡片 View 从一个 fragment 发送到另一个 fragment

c - 等待所有子进程创建 - C