Windows service wrapper 初探

Windows 服务包装器(Windows service wrapper),用于把.exe文件注册为windows服务。比如把Nginx.exe注册为windows服务,这样做的好处是,每次启动nginx时不用在命令行中输入命令,而且可以随windows系统启动而启动。不用担心服务器意外重启,服务挂掉。

github地址:https://github.com/kohsuke/winsw

下载地址:https://github.com/kohsuke/winsw/releases

目前(2017 年 1 月 11 日)最新版本是2.0.1版。有两种选择,WinSW.NET2.exe安装在.netframework2.0中,WinSW.NET4.exe安装在.netframework4.0中,根据安装环境选择需要下载的文件。如图1

下载完成后,需要通过配置文件进行配置,官方文档中关于XML Configuration File格式似乎不是最新的版本。因为我使用这种配置方法,虽然能够注册为服务,但是不能启动,会报代号为1067的错误。图2中红框中是不正确的xml文件格式,正确的为图1中sample-minimal.xml或sample-allOptions.xml中所示。

使用方法

以WinSW.NET4.exe为例,下载WinSW.NET4.exe,放至待包装的exe文件夹中,它可以自定义名字,比如这里我们命名为nginxservice.exe。图中的.log文件都是启动后自动生成的。

最重要的是,要在nginxservice.exe同目录中新建一个同名的xml文件,对其配置。如前所述,该文件的格式在sample-minimal.xml或sample-allOptions.xml中所示。

这里所配置的是最简单的格式,更丰富的配置可以在sample-allOptions中查看。

其中id和name不能与系统中其它服务的冲突。

配置完成后,在命令行中进行安装,

nginxservice.exe install

卸载命令:nginxservice.exe uninstall

安装后运行services.msc打开服务查看器,就能看到该服务

查看它的属性,就是我们在配置文件中的配置信息。

时间: 2024-11-05 12:13:49

Windows service wrapper 初探的相关文章

使用Windows Service Wrapper快速创建一个Windows Service 如nginx

前言 今天介绍一个小工具的使用.我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我们称之为"服务"吧 编写Windows Service其实是不难的,尤其是如果有Visual Studio的话.但是仍然是有不少童鞋觉得略显繁琐,同时,如果有一些其他的程序,我们只拿到一个exe,或者一个bat,但又想让他象服务一样运行,怎么办呢 答案就是可以使用如下的一个工具,它的名称就

使用Windows Service Wrapper快速创建一个Windows Service

前言 今天介绍一个小工具的使用.我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我们称之为"服务"吧 编写Windows Service其实是不难的,尤其是如果有Visual Studio的话.但是仍然是有不少童鞋觉得略显繁琐,同时,如果有一些其他的程序,我们只拿到一个exe,或者一个bat,但又想让他象服务一样运行,怎么办呢 答案就是可以使用如下的一个工具,它的名称就

Windows Service Wrapper

This project creates a wrapper executable that can be used to host any executable as an Windows service. Download The binaries are available here for download. Usage During your development... Take winsw.exe from the distribution, and rename it to yo

Java Service Wrapper 发布Java程序为Windows服务

下载Windows版本:http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip 现在目前只要32位有免费的,64位免费版目前还没有做出来.官网上(社区)那一列是免费的. 1.先把你的项目用MANIFEST.MF打成jar包,例如bb.jar.新建目录,例如:dist,放在D盘下面.把bb.jar放到dist目录下. 2.在dist目录下新建conf,lib,log三个文件夹.conf是

详解Maven项目利用java service wrapper将Java程序生成Windows服务

在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了. 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打包法. 一. 准备 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/或http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper

使用Java Service Wrapper将jar包安装成Windows服务

在windows上运行jar包,需要在工作目录下使用命令行运行jar包,这样会出现一个命令行窗口.而且这个命令行窗口有可能会不小心被关闭,且服务器启动后需要人为去点击开启. 对于有些服务性的程序来说,我们需要将其部署为windows服务,在系统启动的时候自动启动. 前面我使用了yajsw来进行,请参考我的博文:http://www.cnblogs.com/kxxx/p/6744309.html 但本次在另外一台服务器上进行处理时,安装了服务之后不能打开,服务每次都报找不到指定文件的错误,试了很久

Java Service Wrapper将jar包安装成Windows服务

刚接触java,第一次使用Java开发windows服务,也是刚不久看了SSM框架 简直也是一头雾水,不过只要用心理解,其实很简单,下面有详细的步骤,包学包会 在windows上运行jar包,需要在工作目录下使用命令行运行jar包,这样会出现一个命令行窗口 而且这个命令行窗口有可能会不小心被关闭,且服务器启动后需要人为去点击开启 对于有些服务性的程序来说,我们需要将其部署为windows服务,在系统启动的时候自动启动 后来研究了两种方式: 1.使用 JavaService.exe 安装jar包

Java Service Wrapper 使用(windows)

1       简介 最近项目中需要做一个Windows系统服务,记录一下使用过程. Java Service Wrapper 可以将Java程序包装成系统服务,这样就可以随着系统的运行而自动运行.Java Service Wrapper分为Professional.Standard.Community三个版本,并支持32位和64位的系统,其中Community版本为免费的社区版本. 2       配置过程 (1)安装java运行环境 (2)java程序打包成jar包 (3)在硬盘上创建文件夹

利用JAVA Service Wrapper把JAVA程序做成windows服务

今天复习了一下Java的基础知识,做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式.除此之外,我会把一些基本内容也贴上,以后复习所用. 一.下面是整个程序的功能部分: 1.连接数据库的功能.我写了一个DBConnecter类,是一个单例. public class DBConnecter { private static DBConnecter inst