尝试将批处理文件作为Windows服务运行

时间:2017-05-30 11:13:11

标签: windows batch-file service cmd nssm

我创建了一个简单的批处理文件来启动我的redis节点。

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

如果我在cmd中以管理员身份运行它,那么这个批处理文件工作正常。我通过NSSM创建这个bat文件作为Windows服务,但该服务给出以下错误: “Windows无法在本地计算机上启动服务,服务未返回错误。”推荐此link

我是否必须提到在我的批处理文件中以管理员身份运行,或者通过上述方法还有其他问题?

此外,我尝试通过以下命令创建服务,但它抛出了1053错误:

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

1 个答案:

答案 0 :(得分:2)

在Windows中安装redis作为服务的正确方法:

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

正如其他人所建议的那样,redis.conf必须至少包含最小参数。尝试使用default config并通过在每个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=之后的空格!