用NSSM把exe安装/运行在Services上,封装为服务

1.把nssm.exe放在C:\Windows\System32文件夹下。

2.管理员身份运行cmd,输入nssm install <需要添加为Services的程序名字>。执行之后会看到弹窗如下所示:

用NSSM把exe安装/运行在Services上,封装为服务_第1张图片

3.填写第一个Application,第二个Details和后面的Exit actions即可,后面的可根据需要选择是否填写。然后点击“Install service”按钮。

Details下面选择Manual,如果选择Auto,会一直重复运行。

用NSSM把exe安装/运行在Services上,封装为服务_第2张图片

Exit actions下面选择Stop service (oneshot mode)可以确保此Services运行完之后自动停止,不然一直显示Running。

用NSSM把exe安装/运行在Services上,封装为服务_第3张图片

P.S.也可以自动安装,cmd输入命令nssm install <需要添加为Services的程序名字> <路径指向.exe> [<参数>]

4.常用nssm相关命令,在cmd中输入运行即可

nssm start <名称>

nssm stop <名称>

nssm restart <名称>

nssm pause <名称>

nssm continue <名称>

nssm status <名称>

nssm edit <名称>

nssm remove <名称> [confirm]

5.自动安装需要更多的命令, 例如把TEST安装在Services上,并且设置为开机自启动 :

nssm install TEST D:\TEST\TEST.exe
nssm set TEST DisplayName "TEST - Go Web Service"
nssm set TEST Description "A test Web service."
nssm set TEST AppDirectory D:\Caddy
nssm set TEST AppStdout D:\TEST\TEST.log
nssm set TEST Start SERVICE_DELAYED_AUTO_START
nssm start TEST

AppDirectory 启动目录,AppStdout 标准输出,AppStderr 错误输出,AppNoConsole 是否显示Console (1为不显示)

Start 设置启动方式 :

  • SERVICE_AUTO_START 开机自启动
  • SERVICE_DELAYED_AUTO_START 延时启动
  • SERVICE_DEMAND_START 手动启动
  • SERVICE_DISABLED 禁用

6.如何设置为每天固定时间自动运行此Services。

创建一个TEST_Services.bat,里面内容为

cd /d C:\Windows\System32
nssm start TEST

在Task Scheduler中新建一个任务,在Actions中把路径指向TEST_Services.bat,在Triggers中设置好固定运行的时间。

这样就设置好了,到设置好的运行时间,Task Scheduler会运行TEST_Services.bat,而TEST_Services.bat会通过NSSM运行Services中的TEST,而TEST会运行D:\TEST\TEST.exe。

你可能感兴趣的:(基础知识)