Service NSSM-使用多个参数从命令行安装服务

Service NSSM-使用多个参数从命令行安装服务,service,command-line,arguments,nssm,Service,Command Line,Arguments,Nssm,我正在尝试创建一个批处理文件来创建我的服务,并且正在为如何准确列出每个参数而苦苦挣扎。我对此做了很多研究,但似乎找不到正确的语法。这就是我现在拥有的: nssm install MDHIS_WebClient "%MDHIS2_HOME%/MDHIS_WebClient.cmd" AppDirectory %MDHIS2_HOME% DisplayName MDHIS_WebClient Start SERVICE_AUTO_START DependOnService MSS

我正在尝试创建一个批处理文件来创建我的服务,并且正在为如何准确列出每个参数而苦苦挣扎。我对此做了很多研究,但似乎找不到正确的语法。这就是我现在拥有的:

nssm install MDHIS_WebClient "%MDHIS2_HOME%/MDHIS_WebClient.cmd" AppDirectory %MDHIS2_HOME% DisplayName MDHIS_WebClient Start SERVICE_AUTO_START DependOnService MSSQLSERVER AppNoConsole 1 AppStopMethodConsole 30000

这是可行的,但参数被忽略。有人能给我举一个正确语法的例子吗?

您现在使用的命令在执行程序时会将程序路径后的所有项目(从
AppDirectory
开始)作为参数传递给程序。显然,这不是你想要的行为

要建立对
nssm
有意义的参数,必须为每个参数运行单独的
nssm set
命令。在这种情况下,您将使用此命令创建服务并定义程序的路径:

  nssm install MDHIS_WebClient "%MDHIS2_HOME%/MDHIS_WebClient.cmd"
接下来是建立各种参数的一系列命令:

  nssm set MDHIS_WebClient AppDirectory %MDHIS2_HOME%

  nssm set MDHIS_WebClient DisplayName MDHIS_WebClient 

  nssm set MDHIS_WebClient Start SERVICE_AUTO_START 

  nssm set MDHIS_WebClient DependOnService MSSQLSERVER 

  nssm set MDHIS_WebClient AppNoConsole 1 

  nssm set MDHIS_WebClient AppStopMethodConsole 30000

为了安全起见,我会将
Start
参数移到该系列的末尾,以防止
nssm
在其余参数(
DependOnService
AppNoConsole
AppStopMethodConsole
)建立之前启动服务的可能性。

另一个方法。。。。我将nssm.exe设置为以管理员身份运行。现在,它会在批处理中的每个set调用中提示adminn。但至少它不需要快捷方式或其他方式来打开管理控制台。据我所知,这并不好,但更简单。

nssm网站让它看起来像是第一个命令会打开我不想要的GUI,因为这个脚本将是安装程序的一部分,但实际上它工作得很好,谢谢!