nssm
时间: 2025-05-04 16:54:56 浏览: 34
### NSSM (Non-Sucking Service Manager) 使用说明
NSSM 是一个用于管理和控制 Windows 服务的强大工具。它可以用来创建、启动、停止以及重新启动服务,同时还提供了丰富的配置选项来满足不同的需求。
#### 基本功能
NSSM 提供了一系列命令行操作方式,允许管理员轻松管理服务生命周期。以下是其主要功能:
- **启动/停止/重启服务**
通过简单的命令即可实现对指定服务的操作:
```bash
nssm start <servicename> # 启动服务
nssm stop <servicename> # 停止服务
nssm restart <servicename> # 重启服务
```
这些命令能够帮助快速调整运行中的服务状态[^1]。
- **监控应用退出行为**
当被监控的应用程序意外退出时,NSSM 能够自动检测并采取相应措施。如果应用程序未能正常关闭,NSSM 还支持强制终止相关进程及其子进程[^2]。
#### 安装新服务
除了管理现有服务外,NSSM 还能方便地安装新的服务实例。具体方法如下所示:
```bash
nssm install
```
执行上述命令后会弹出图形界面窗口,在此可以通过设置不同标签页内的参数完成定制化部署过程。通常情况下仅需填写“Application”部分便足以建立基础版的服务定义[^3]。
#### 配置日志重定向
为了更好地跟踪服务运行状况,可以利用以下指令将标准输入输出流导向特定文件路径:
```bash
nssm set <servicename> AppStdout C:\path\to\stdout.log # 设置标准输出日志位置
nssm set <servicename> AppStderr C:\path\to\stderr.log # 设置错误信息记录地址
```
这样做的好处在于便于后续排查问题或分析性能瓶颈等问题[^4]。
#### 实际案例 - Logstash 作为后台服务运行
对于某些需要长期稳定工作的软件来说(比如 ELK Stack 中的 Logstash),将其注册成系统级服务是非常有必要的。借助于 NSSM ,我们可以很方便地把包含启动脚本逻辑的批处理文件转换为正式的服务形式加以维护。例如先编写好 `start-logstash.bat` 文件内容如下:
```batch
@echo off
cd /d %~dp0config\
..\bin\logstash.bat agent -f logstash.conf --log.level debug
pause
```
接着按照前述介绍的方法调用 `nssm install` 并指向刚才准备好的 `.bat` 文件即完成了整个流程[^5]。
---
阅读全文
相关推荐


















