检查程序是否正在运行,如果没有,则运行它?

检查程序是否正在运行,如果没有,则运行它?

在 Windows 中是否有办法检查某个程序是否正在运行(在本例中为 Java 应用程序),如果它没有运行(由于崩溃)则重新运行它?

答案1

使用 PowerShell:

get-process name-pattern

将返回每个匹配的进程的详细信息name-pattern。如果没有匹配,则没有适用的进程正在运行:

if (@(Get-Process MyProcessName).Length -eq 0) {
  MyProcessName ...
}

(使用@(...)以确保Get-Process在所有情况下都返回一个数组。)

注意:如果您需要频繁运行此功能,那么还应该考虑其他选项(例如,性能监视器警报可以启动应用程序,甚至是自定义服务)。

相关内容