gpt4 book ai didi

java - 如果已经在 J​​ava 中打开,如何关闭程序

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:09 24 4
gpt4 key购买 nike

我正在写这个服务器,我想检查同一个程序是否已经在运行,如果正在运行关闭程序。

假设我运行 ServerA

然后我运行 ServerB(这是同一台服务器)

我想关闭 ServerA 以便 ServerB 可以成功运行。

最佳答案

好吧,我设法做到了......

public static void main(String[] args){
String PIDtoKill = readPIDFile();
if(!PIDtoKill.isEmpty())
killPID(PIDtoKill);
saveThisPIDtoFile();
}

使用的方法....

private static String readPIDFile() {
try {
for (String line : Files.readAllLines(Paths.get("C:\\Users\\MyUser\\Desktop\\PIDsRunning.txt")))
return line;
}
catch (IOException e1) {
e1.printStackTrace();
}
return "";
}

private static void saveThisPIDtoFile() {
String pid = ManagementFactory.getRuntimeMXBean().getName();
pid = pid.substring(0, pid.indexOf("@"));

List<String> lines = Arrays.asList(pid);
Path file = Paths.get("C:\\Users\\MyUser\\Desktop\\PIDsRunning.txt");

try {
Files.write(file, lines, Charset.forName("UTF-8"));
}
catch (IOException e) {
e.printStackTrace();
}
}

private static void killPID(String pIDtoKill) {
try {
Runtime.getRuntime().exec("taskkill /F /PID " + pIDtoKill);
}
catch (IOException e) {
e.printStackTrace();
}
}

关于java - 如果已经在 J​​ava 中打开,如何关闭程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42036192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com