让Windows程序运行为服务
编辑前言
我们使用windows系统的电脑的时候,可能会遇到这么一种情况:想把一些应用程序添加为开机启动项。
本文示例使用是把一个exe程序注册为服务,同样的jar程序或者其他程序方法是通用的。
方式一
使用winsw来注册Windows服务
下载
下载完之后最好把文件改成一个比较短小的名字,例如:WinSW.exe 方便后面输入命令时使用。
修改配置文件
我们需要编写一个和程序同名的XML文件作为WinSW的配置文件
winsw.xml
<service>
<id>elm</id>
<name>饿了么</name>
<description>饿了么自动任务,自动兑换。</description>
<executable>elm.exe</executable>
<arguments>-debug</arguments>
<logmode>reset</logmode>
</service>
配置项说明
id
指定在Windows系统内部使用的识别服务的ID。在系统中安装的所有服务中,这必须是唯一的,它应该完全由字母数字字符组成。
name
服务的简短名称,它可以包含空格和其他字符。尽量简短,就像“id”一样,在系统的所有服务名称中,也要保持唯一。
description
该服务可读描述。当选中该服务时,它将显示在Windows服务管理器中。
executable
该元素指定要启动的可执行文件。它可以是绝对路径,也可以指定可执行文件的名称,然后从环境变量“PATH”中搜索(需要注意的是,服务经常在不同的用户账户中运行,因此它可能需要有不同于你设置在环境变量Path中的路径)。
argument
该元素指定要传递给可执行文件的参数。
如果有必要,Winsw会给每一个参数外加引号(“”),所以为了避免双重引号,尽量不要在参数中使用引号。
logmod
<logmode>reset</logmode>
截断,每次重启都会清空之前日志
logmode官方参考
注册服务
注册成功
常用命令
Command | Description |
---|---|
install | 注册服务 |
uninstall | 卸载服务 |
start | 启动服务 |
stop | 关闭服务 |
restart | 重启服务 |
status | 查看状态 |
xml配置官方参考
灵活变通
方式二
使用nssm来注册Windows服务
下载
服务安装:
cmd窗口执行nssm install
弹出图形化界面
都是小学英语单词,我相信你们能看的明白。
填好之后点击 install service 按钮。
服务管理:
服务管理主要有启动、停止和重启,其命令如下:
启动服务: nssm start <servicename>
停止服务: nssm stop <servicename>
重启服务: nssm restart <servicename>
当然也可打开任务管理器的服务进行管理,或者系统服务来管理。
更详细的教程
- 13
- 0
-
分享