标签: nssm

使用NSSM制作Node.js服务

我想创建一个nodejs服务,以便节点服务器在计算机启动时启动,而我不必一直保持命令提示符打开。我正在尝试通过使用NSSM来实现这一目标。

这是创建服务的命令:

nssm.exe install jewel-server C:\Program Files\nodejs\node.exe D:\jewel\server.js
Run Code Online (Sandbox Code Playgroud)

运行服务:

net start jewel-server
Run Code Online (Sandbox Code Playgroud)

但这不起作用并给出此错误:

The jewel-server service is starting.
The jewel-server service could not be started.

A service specific error occured: 3.
Run Code Online (Sandbox Code Playgroud)

我检查了错误代码3,表示路径不正确,但路径正确。您能告诉我我做错了什么吗,还是有其他开源和更可靠的替代品NSSM

版:

NSSM
version: 2.24
Windows-7 64bit
Run Code Online (Sandbox Code Playgroud)

cmd window node.js nssm

5
推荐指数
3
解决办法
7009
查看次数

尝试使用NSSM将可执行文件.jar作为Windows服务运行时出错

我有一个可执行.jar文件,我想作为一个Window服务运行,以便即使我退出也能保持执行.我搜索并发现了NSSM.但是,在完成配置后,当我开始服务时,它停止并打印Unexpected status SERVICE-STOPPED in response to start control.我刚才说我pathstartup directoryApplication标签上,没有别的.此外,我无法找到任何nssm可能创建的日志文件来检查实际发生了什么.

windows service executable-jar nssm

4
推荐指数
1
解决办法
5350
查看次数

使用 nssm 的 Windows 服务可以工作,但不能与 Windows SC 一起工作

我本来应该将 GoLang 编译的文件 .exe 转换为 Windows 中的服务,但由于该服务是使用外部的 9 个参数执行的,所以我决定使用 SC 将 .exe 制作为服务,我的语法是,

sc create myservice binPath= "\"PATH\file.exe\" -param1=value -param2=value -param3=value...-param9=value" displayname= "MyServer"  start= auto
Run Code Online (Sandbox Code Playgroud)

服务创建成功,但当我尝试启动它时,它失败并显示“服务未及时响应”。

但是当我使用 nssm 语法创建相同的服务时,

nssm install myservice "PATH\file.exe" -param1=value -param2=value -param3=value...-param9=value
Run Code Online (Sandbox Code Playgroud)

它正在工作,我正在从我的服务中得到响应,我不知道问题是出在 SC 中的语法还是我的服务中......

我什至尝试了许多可能的方法,例如删除 \" 并直接给出参数binPath= "PATH/file.exe -param1=value -param2=value...param9=value" ,但它不起作用,我也尝试在引号内传递参数,它也不起作用:(任何帮助将不胜感激。

windows windows-services nssm

4
推荐指数
1
解决办法
6460
查看次数

Inno Setup中如何处理带空格的路径?

program files我想在使用 Inno Setup 安装程序时允许带有空格的路径(例如)。但是,带有空格的路径会让我安装的服务崩溃。

Inno 安装文件如下所示:

[Setup]
AppName=Demo
DefaultDirName={pf}\demo

[Files]
Source: "bin\nssm.exe"; DestDir: "{app}"
Source: "bin\jdk1.8.0_152\jre\*"; DestDir: "{app}\jre"; Flags: recursesubdirs
Source: "build\libs\demo.jar"; DestDir: "{app}"

[Run]
Filename: "{app}\nssm.exe"; \
    Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar"""
Filename: "{app}\nssm.exe"; Parameters: "start demo"
Run Code Online (Sandbox Code Playgroud)

“nssm.exe”是一个服务包装器,用于将 java 应用程序作为 Windows 服务执行。

关键部分是这一行:

Filename: "{app}\nssm.exe"; \
     Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar"""
Run Code Online (Sandbox Code Playgroud)

正如这个问题/答案中所建议的,我尝试使用双引号,但这没有帮助,服务仍然崩溃。如果我更改DefaultDirName为没有空格的路径,一切都会按预期进行。

DefaultDirName=c:\demo
Run Code Online (Sandbox Code Playgroud)

我该如何处理带有空格的路径?

windows inno-setup nssm

4
推荐指数
1
解决办法
2951
查看次数

检查是否存在给定的服务名称及其在NSSM API中的状态

我正在尝试构建一种自包含系统,我将应用程序可执行文件复制到一个位置,并将服务作为独立应用程序运行,无需安装.我使用NSSM可执行文件在Windows Server 2012 R2和一台机器上创建服务,将会有很多可部署的.我的问题是,虽然自动化与Ansible部署,我被困在那里我需要知道,如果给定的服务名已经存在,如果是,什么是它的状态呢?在NSSM中似乎没有任何API来检查它.如果服务存在,如何通过命令行询问NSSM?我可以通过命令行检查服务的存在和状态(没有powershell)吗?

windows-services windows-server-2012-r2 nssm

3
推荐指数
1
解决办法
4137
查看次数

NSSM - 从带有许多参数的命令行安装服务

我正在尝试制作一个批处理文件,该文件将创建我的服务,并为如何准确列出每个参数而苦苦挣扎。我对此进行了大量研究,但似乎找不到正确的语法。这就是我现在所拥有的:

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
Run Code Online (Sandbox Code Playgroud)

这有效,但参数被忽略。任何人都可以向我展示正确语法的示例吗?

service command-line arguments nssm

2
推荐指数
1
解决办法
1万
查看次数