PowerShell - 检查 Java 应用程序是否正在运行,如果没有 - 重新启动它。 (Javaw.exe不显示详细信息)

问题描述 投票:0回答:3

我已经进行了很好的搜索,但找不到我要找的东西。

我们有 Java 应用程序在多台远程计算机上 24/7 运行,间歇性崩溃(我们认为应用程序的开发人员正在处理它),但目前,我们需要一种在应用程序失败时重新启动该应用程序的方法。

现在...棘手的事情是,至少据我所知,无法判断应用程序是否正在运行,因为任务管理器中只有 Javaw.exe 显示。即使有命令行栏,也只指向javaw.exe。

我们不能只检查 Javaw 是否正在运行,是因为我们还有另一个使用频率较低的 Java 应用程序(它就像基于 Web 的 CRM 软件),这也会在需要时启动 Javaw.exe,但也不会” t 显示为一个过程。

如果没有对 CRM 方面造成可怕的问题,只需重新启动 Javaw.exe 就很容易了。

我不是最擅长 PowerShell,但确实掌握了它。我只是没有主意了。

希望大家能帮忙。

感谢您的宝贵时间。

java powershell powershell-2.0 powershell-3.0
3个回答
0
投票

也许这个其他问题可能有帮助。 它基本上使用 JRE/JDK 中包含的

jps
来获取 javaw 的更细粒度的信息。

然后您可以解析输出并确定应用程序是否仍在运行。



0
投票

尝试

Get-WmiObject win32_process -Filter "name like '%java%'" | select commandLine
这将提供java进程运行的详细信息

© www.soinside.com 2019 - 2024. All rights reserved.