nssm简介
nssm是一个服务封装程序,它可以将普通exe程序封装成服务,实现开机自启动,同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。
官网下载地址:https://nssm.cc/download
特点: 可以自动守护封装了的服务,程序挂掉了后可以自动重启
我的使用背景
最近windows 下 搭建nginx+php 的服务器,实现可上传文件:其中启动php-cgi进程需要 cmd 执行 php-cgi.exe -b 127.0.0.1:9000 -c php.ini 命令启动,而且这个cmd 窗口会一直存在,就会导致及其容易不小心把 cmd窗口关掉,(或者一些其他不知道的原因),导致php-cgi进程挂掉,由此网上搜索找到了nssm 工具,通过该工具把 php-cgi.exe 进程启动封装成 windows 服务,更加稳定,进程不容易挂
下边是cmd 一般方式启动 php-cgi, cmd窗口一直存在
nssm 使用介绍
1 安装
安装包直接解压缩,根据自己的系统类型选择 win32 或者win64
2 使用
nssm.exe 根目录下 打开cmd, 执行 nssm.exe install 会弹出图形界面
Application Path: exe程序所在目录
Startup directory: 会自动填充
Arguments: cmd 命令行方式启动php-cgi 程序后边跟的参数
Service name: 自定义服务的名字
点击 Install service ,弹窗 安装完成。任务管理器-服务中即可看到我们的服务,右键 开始即可启动服务
3 常用命令
nssm install servername //创建servername服务,弹出配置界面
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务
nssm edit servername//更改servername服务,弹出修改界面
nssm set servername 参数名 参数值 //设置服务参数值
sc delete servername//windows删除服务命令
更多使用请 cmd 下 help 查看
D:\Program Files\nssm-2.24-101-g897c7ad\win64>nssm.exe --help
NSSM: The non-sucking service manager
Version 2.24-101-g897c7ad 64-bit, 2017-04-26
Usage: nssm <option> [<args> ...]
To show service installation GUI:
nssm install [<servicename>]
To install a service without confirmation:
nssm install <servicename> <app> [<args> ...]
To show service editing GUI:
nssm edit <servicename>
To retrieve or edit service parameters directly:
nssm dump <servicename>
nssm get <servicename> <parameter> [<subparameter>]
nssm set <servicename> <parameter> [<subparameter>] <value>
nssm reset <servicename> <parameter> [<subparameter>]
To show service removal GUI:
nssm remove [<servicename>]
To remove a service without confirmation:
nssm remove <servicename> confirm
To manage a service:
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>
nssm status <servicename>
nssm statuscode <servicename>
nssm rotate <servicename>
nssm processes <servicename>