Назад | Перейти на главную страницу

проверить, запущена ли программа, если нет, запустить ее?

Есть ли способ в Windows проверить, запущена ли программа (в данном случае Java-приложение), и если она не запущена (из-за сбоя), повторно запустить ее?

Используйте PowerShell:

get-process name-pattern

вернет детали для каждого сопоставления процесса name-pattern. Если совпадений нет, значит, ни один из подходящих процессов не запущен:

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

(С помощью @(...) для обеспечения Get-Process во всех случаях возвращает массив.)

NB. если вам нужно, чтобы это выполнялось часто, следует также рассмотреть другие варианты (например, предупреждения монитора производительности могут запускать приложение или даже настраиваемую службу).