Попытка запустить пакетный файл в качестве службы Windows

Я создал простой командный файл для запуска моего узла redis.

@echo off
start cmd.exe /k "cd C:\Users\cmguser\Desktop\7000 & redis-server ./redis.conf"

Этот пакетный файл работает нормально, если я запускаю его в cmd от имени администратора. Я создаю этот bat-файл в качестве службы Windows через NSSM, но служба выдает следующую ошибку: "Windows не удалось запустить службу на локальном компьютере, служба не вернула ошибку". Ссылка на эту ссылку.

Нужно ли упоминать запуск от имени администратора в моем командном файле, или есть какие-либо другие проблемы с помощью вышеупомянутого метода?

Также я попытался создать сервис с помощью следующей команды, но он выдал ошибку 1053:

sc create service_name binpath=C:\Users\user\Desktop\redis_config_7000  start= auto

1 ответ

Правильный способ установки Redis как службы в Windows:

redis-server --service-install --service-name "[your desired service name]" "[full path to your redis conf]"

Как и предполагали другие, файл redis.conf должен содержать хотя бы минимальные параметры. Попробуйте использовать конфигурацию по умолчанию и получите более конкретную информацию, включив конфигурацию по умолчанию в файл конфигурации конкретного экземпляра для include


Другой способ заключается в использовании sc create команда правильно:

SC CREATE [your desired service name] binpath= "\"C:\Program Files\Redis\redis-server.exe\" --service-run \"[full path to your config]\""

Пожалуйста, обратите внимание на пробел после binpath=!

Другие вопросы по тегам