在 Windows 中是否有办法检查某个程序是否正在运行(在本例中为 Java 应用程序),如果它没有运行(由于崩溃)则重新运行它?
答案1
使用 PowerShell:
get-process name-pattern
将返回每个匹配的进程的详细信息name-pattern
。如果没有匹配,则没有适用的进程正在运行:
if (@(Get-Process MyProcessName).Length -eq 0) {
MyProcessName ...
}
(使用@(...)
以确保Get-Process
在所有情况下都返回一个数组。)
注意:如果您需要频繁运行此功能,那么还应该考虑其他选项(例如,性能监视器警报可以启动应用程序,甚至是自定义服务)。