Windows服务管理
2021/4/4·4 views
通常可以通过运行 -> services.msc 启动Windows服务管理,但是可以做的操作有限,所以主要介绍下命令行下如何管理服务。因为需要管理员权限,所以通过以下步骤启动命令行/Powershell(管理员): 运行 -> 输入cmd -> 按下ctrl+shift+enter键。
首先介绍一款Windows包管理工具
Chocolatey,官网:https://chocolatey.org/install ,安装完成后可以使用choco install 软件包来安装软件,例如choco install nginx,在安装nginx的时候会发现nssm会被自动安装,下面介绍了nssm的用法。
nssm
nssm是一个服务封装程序,它可以将普通exe程序封装成服务,实现开机自启动,同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。
它的特点如下:
-
支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
-
安装简单,修改方便
-
可以自动守护封装了的服务,程序挂掉了后可以自动重启
常用命令
shell
nssm install servername # 创建servername服务,弹出配置界面
nssm start servername # 启动服务
nssm stop servername # 暂停服务
nssm restart servername # 重新启动服务
nssm remove servername # 删除创建的servername服务
nssm edit servername # 更改servername服务,弹出修改界面
nssm set servername 参数名 参数值 # 设置服务参数值
例如安装Nginx,执行nssm install Nginx,弹出窗口配置项说明:
-
Path:运行应用程序的程序
-
Startup directory:应用程序所在的目录
-
Arguments:应用运行的参数
-
Service name:生成服务的名称
最后点击install service 完成windows服务安装,在windows服务列表就能看到创建的服务了。
net
用于操作没有被禁用的服务,它包含了管理网络环境、服务、用户等大部分重要的管理功能
shell
net start 服务名 # 启动
net stop 服务名 # 关闭
sc
sc是用于与服务控制管理器和服务进行通信的命令行程序,可打开被禁用的服务。其语法如下
shell
sc config 服务名 start= demand # 手动
sc config 服务名 start= auto # 自动
sc config 服务名 start= disabled # 禁用
sc start 服务名 # 开启服务
sc stop 服务名 # 停止服务
sc query 服务名 # 查看服务状态
sc delete 服务名 # 删除服务
sc qc 服务名 # 查看服务的配置信息
sc create scname binPath=xxx.exe #创建服务