NSSM - 从带有许多参数的命令行安装服务
NSSM - Install service from command line with many arguments
我正在尝试创建一个批处理文件来创建我的服务,但我正在努力解决如何准确列出每个参数的问题。我对此进行了大量研究,但似乎找不到正确的语法。这就是我现在拥有的:
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 设置为 运行 作为管理员。现在它会在我的批次中的每个设置调用中提示 adminn。但至少它不需要快捷方式或不同的方式来打开管理控制台。我知道这不是很好,但它更简单。
我正在尝试创建一个批处理文件来创建我的服务,但我正在努力解决如何准确列出每个参数的问题。我对此进行了大量研究,但似乎找不到正确的语法。这就是我现在拥有的:
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 设置为 运行 作为管理员。现在它会在我的批次中的每个设置调用中提示 adminn。但至少它不需要快捷方式或不同的方式来打开管理控制台。我知道这不是很好,但它更简单。