nssm(Non-Sucking Service Manager)是一个用于在Windows系统上管理服务的工具。它允许你将.exe文件和.bat文件转换为Windows服务,并提供了一些功能来管理这些服务。
下载和安装
首先,你需要从nssm官方网站(https://nssm.cc/download)下载最新版本的nssm。
解压缩下载的文件到一个方便访问的目录中,比如D:\nssm-2.24。
使用nssm
进入到和你电脑相对应的win32和win64的文件夹下
在路径上输入cmd然后回车
然后输入nssm install来调出nssm的程序
程序的详细介绍
Application Path(应用程序路径)
功能:在此处需要指定要封装为Windows服务的exe程序或bat文件的完整路径。
重要性:这是将程序封装为服务的基础,必须准确无误地指向目标程序。
Startup directory(启动目录)
功能:设置程序启动时的工作目录,通常是exe程序或bat文件所在的文件夹。
作用:确保程序在运行时能够正确地访问其所需的文件和其他资源。
Arguments(启动参数)
功能:允许用户输入程序启动时需要传递的参数。
应用场景:如果程序支持通过命令行参数来配置其行为,那么在这里输入相应的参数将非常有用。
其他的配置项(根据版本和具体需求可能有所不同)
服务名称(Service name):
用户为封装后的服务指定的名称,用于在Windows服务管理器中识别和管理该服务。
显示名称(Display name):
服务的友好名称,通常用于在用户界面(如服务管理器)中显示。
描述(Description):
对服务的简短描述,有助于用户了解服务的功能和用途。
登录选项(Log on options):
设置服务运行时应使用的账户。这可以是本地系统账户(Local System account),也可以是用户指定的其他账户。
依赖项(Dependencies):
指定服务启动前必须已经启动的其他服务或组件。这有助于确保服务的正确运行顺序和依赖关系。
进程优先级(Process priority):
设置服务进程的优先级,以控制其在系统资源分配中的优先级。
CPU亲和性(Affinity):
设置服务进程应在哪些CPU核心上运行,以提高性能或满足特定需求。
输入输出重定向(I/O redirection):
允许用户将服务的标准输入、输出和错误输出重定向到文件或其他位置,以便于日志记录和监控。
请注意,由于NSSM的用户界面和功能可能会随着版本的更新而发生变化,因此上述信息可能并不完全适用于所有版本的NSSM。为了获取最准确的信息,建议参考NSSM的官方文档或在其官方网站上查找相关的使用指南和教程。
常用的NSSM命令及其说明
1. 安装服务
基本安装: nssm install <服务名>。这个命令会启动NSSM的安装向导,允许用户通过图形界面来配置服务。
带程序路径的安装: nssm install <服务名> <程序路径>。这个命令允许用户直接在命令行中指定要封装为服务的程序路径,并启动安装过程。如果程序需要特定的启动参数,可以将其附加在程序路径之后。
2. 启动服务
nssm start <服务名>:启动指定的Windows服务。
3. 停止服务
nssm stop <服务名>:停止指定的Windows服务。
4. 重启服务
nssm restart <服务名>:停止并重新启动指定的Windows服务。
5. 删除服务
nssm remove <服务名>:删除(卸载)指定的Windows服务。在某些情况下,可能需要添加confirm参数来确认删除操作。
6. 修改服务
nssm edit <服务名>:打开服务的配置界面,允许用户修改服务的设置。注意,这个命令不会修改服务名本身。
7. 设置服务参数
nssm set <服务名> <参数名> <参数值>:直接设置服务的某个参数值,而无需打开配置界面。这对于自动化脚本来说非常有用。
8. 查询服务状态
虽然NSSM本身没有直接的命令来查询服务状态,但可以使用Windows的服务控制器(SC)命令或任务管理器来查看服务的当前状态。例如,使用sc query <服务名> 命令可以查询服务的状态信息。
9. 其他服务控制命令
nssm pause <服务名>:暂停指定的Windows服务(如果服务支持暂停操作)。
nssm continue <服务名>:恢复之前被暂停的Windows服务。
请注意,上述命令中的<服务名>、<程序路径>、<参数名>和<参数值>都是占位符,需要替换为实际的值。此外,由于NSSM的版本更新可能会引入新的命令或更改现有命令的行为,因此建议查阅最新的NSSM文档或帮助信息以获取最准确的信息。