windows系统并没有提供后台进程概念或者是守护进程概念,这个是linux系统提出的,但是可以利用软件把windows可执行的如exe文件转化为本地服务从而间接实现后台启动进程。博主介绍Redis在windows系统服务器上实现守护进程(后台进程启动)的相关步骤
一、nssm软件
nssm是一个服务封装程序,它可以将普通exe程序封装成服务,实现开机自启动,同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。
它的特点如下:
支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
安装简单,修改方便
可以自动守护封装了的服务,程序挂掉了后可以自动重启
官网地址:https://nssm.cc/
二、nssm配置详解
1、下载地址
链接:https://pan.baidu.com/s/1aC0_D4rqMTbi3ZEOD48fRg?pwd=v4v1
提取码:v4v1
2、解压压缩包,根据系统位数选择64或32位程序
3、打开命令行,运行nssm程序
管理员权限打开命令行工具,切换到nssm.exe所在路径,运行 nssm install,打开程序配置界面
配置项说明:
Path:运行应用程序的程序
Startup directory:应用程序所在的目录
Arguments:应用运行的参数
Service name:生成服务的名称
最后点击install service 完成windows服务安装,在windows服务列表就能看到创建的服务了。
4、常用命令
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删除服务命令
直接使用windows的服务管理也可以实现服务的操作,服务右键属性 - 恢复即可设置服务挂掉重启等内容。
这里以通过nssm实现redis服务为例介绍一下
为什么需要Redis Windows守护进程?
在Windows上,我们通常通过运行Redis的可执行文件来启动服务,但这样无法实现后台运行。如果关闭命令行窗口或者退出登录,Redis服务也会随之终止。为了实现在Windows下后台持续运行Redis服务的目的,我们需要使用一个守护进程。
步骤一:创建Redis守护进程
打开命令提示符,切换到Redis安装目录下的redis-server文件所在的位置D:\redis\Redis-7.0.13-Windows-x64-with-Service\redis-server.exe。
运行以下命令,将Redis可执行文件转化为Windows服务。
D:\nssm\nssm-2.24\win64\nssm.exe install redis
在弹出的对话框中,配置Redis服务的路径和参数。在Path字段中输入Redis可执行文件的完整路径,例如D:\redis\Redis-7.0.13-Windows-x64-with-Service\redis-server.exe,然后点击Install service按钮。
成功安装服务后,关闭对话框。
步骤二:启动Redis服务
打开服务管理器。你可以通过在运行框中输入services.msc来打开。
找到刚刚创建的Redis服务,右键点击启动。
到此为止,你已经成功配置了Redis Windows守护进程!现在,Redis服务将在后台持续运行,即使你关闭了命令行窗口或退出登录也不会终止服务。
附加一下说明nssm删除或者注销创建的服务
nssm remove 服务名
在出现的弹窗中确定删除服务