gpt4 book ai didi

java - 如何判断 Java 是否作为 Windows 服务运行以及是否使用了 -Xrs 标志

转载 作者:可可西里 更新时间:2023-11-01 10:37:39 24 4
gpt4 key购买 nike

我们的 Java 应用程序在 Windows 上反复出现的一个问题是客户将其作为 Windows 服务运行而未指定 Java -Xrs 标志。这样,当管理员注销 Windows 机器时,Java 进程会收到终止信号并终止,从而导致看似随机的生产中断情况。

我想在服务器日志文件和监控工具中添加一个关于此配置问题的警告。为了做到这一点,我想知道:1. 我的 Java 应用程序是否作为 Windows 服务运行?2. 是否将 -Xrs 标志指定为 java.exe 命令的一部分?欢迎任何关于如何实现这一目标的想法。

最佳答案

找到了如何检查 -Xrs 标志,仍然需要确定是否作为服务运行:

import java.lang.management.ManagementFactory;
import java.util.List;

public class GetCommandLineFlags {

public static void main(String[] args) {
System.out.println(new GetCommandLineFlags().isReducedSignal());
}

public boolean isReducedSignal() {
List<String> flags = ManagementFactory.getRuntimeMXBean().getInputArguments();
for (String flag : flags) {
if ("-Xrs".equals(flag)) {
return true;
}
}
return false;
}

}

关于java - 如何判断 Java 是否作为 Windows 服务运行以及是否使用了 -Xrs 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16212737/

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