检查程序是否正在运行,如果不是,那么运行它?

有没有办法在Windows中检查程序是否正在运行(在这种情况下是一个Java应用程序),如果它没有运行(因为崩溃)重新运行它?

使用PowerShell:

get-process name-pattern 

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

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

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

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