![检查程序是否正在运行,如果没有,则运行它?](https://linux22.com/image/520630/%E6%A3%80%E6%9F%A5%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%EF%BC%8C%E5%88%99%E8%BF%90%E8%A1%8C%E5%AE%83%EF%BC%9F.png)
在 Windows 中是否有办法检查某个程序是否正在运行(在本例中为 Java 应用程序),如果它没有运行(由于崩溃)则重新运行它?
答案1
使用 PowerShell:
get-process name-pattern
将返回每个匹配的进程的详细信息name-pattern
。如果没有匹配,则没有适用的进程正在运行:
if (@(Get-Process MyProcessName).Length -eq 0) {
MyProcessName ...
}
(使用@(...)
以确保Get-Process
在所有情况下都返回一个数组。)
注意:如果您需要频繁运行此功能,那么还应该考虑其他选项(例如,性能监视器警报可以启动应用程序,甚至是自定义服务)。