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

前言

今天介绍一个小工具的使用。我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我们称之为“服务”吧

编写Windows Service其实是不难的,尤其是如果有Visual Studio的话。但是仍然是有不少童鞋觉得略显繁琐,同时,如果有一些其他的程序,我们只拿到一个exe,或者一个bat,但又想让他象服务一样运行,怎么办呢

答案就是可以使用如下的一个工具,它的名称就叫:Windows Service Wrapper,简称WSW。

wsw的基本使用

一般的使用步骤是:

1. 下载wsw的最新版本,放在任意的位置,修改成你想要的任何名字如“myapp.exe”

2.编写一个同名的xml文件 如:myapp.xml

3.使用Install命令进行安装

  1.  myapp.exe install

4.如果想要卸载,则使用Uninstall命令

  1. myapp.exe uninstall

5. 重启

  1. myapp.exe restart

6:停止

  1. myapp.exe stop

7: 启动:

  1. myapp.exe start

https://github.com/kohsuke/winsw

配置文件的格式请参考:https://github.com/kohsuke/winsw

我的一个例子如下

  1. <service>
  2. <id>nginx</id>
  3. <name>nginx</name>
  4. <description>nginx</description>
  5. <executable>c:\nginx\nginx.exe</executable>
  6. <logpath>c:\nginx\</logpath>
  7. <logmode>roll</logmode>
  8. <depend></depend>
  9. <startargument>-c</startargument>
  10. <startargument>c:\nginx\conf\nginx.conf</startargument>
  11. <startargument>-c</startargument>
  12. <startargument>c:\nginx</startargument>
  13. <stopexecutable>c:\nginx\nginx.exe</stopexecutable>
  14. <stopargument>-p</stopargument>
  15. <stopargument>c:\nginx</stopargument>
  16. <stopargument>-s</stopargument>
  17. <stopargument>stop</stopargument>
  18. </service>

运行install后,在services.msc中可以看到这个服务

相关知识

在Windows系统里面,还有一类特殊的服务,他们都是用一个特殊的程序启动的(svchost),如下

那么,这又是怎么一回事情呢?有兴趣的童鞋可以参考  http://www.howtogeek.com/howto/windows-vista/what-is-svchostexe-and-why-is-it-running/

在Linux系统上面,也有一个类似的工具(而且更加强大),supervisor,有兴趣的童鞋可以参考

http://supervisord.org/introduction.html

来自为知笔记(Wiz)

时间: 2024-12-17 22:24:13

使用Windows Service Wrapper快速创建一个Windows Service 如nginx的相关文章

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

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

C#创建一个Windows Service

Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Windows Service写很深入. 本文介绍了如何用C#创建.安装.启动.监控.卸载简单的Windows Service 的内容步骤和注意事项. 一.创建一个Windows Service 1)创建Windows Service项目 2)对Service重命名 将Service1重命名为你服务名称,这里我

[翻译] 使用 .NET Core 3.0 创建一个 Windows 服务

原文: .NET Core Workers as Windows Services 在 .NET Core 3.0 中,我们引入了一种名为 Worker Service 的新型应用程序模板.此模板旨在为您在 .NET Core 中编写长时间运行的服务的提供一个起点.在本演练中,我们将创建一个 worker 并将其作为 Windows 服务运行. 创建一个 Worker 注意:在我们的预览版中,worker 模板与 Web 模板位于同一级菜单中.这将在未来的版本中发生变化.我们打算将 Worker

为MongoDB创建一个Windows服务

一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件安装到了(E:\MongoDB) 安装好之后该文件夹下就出现下面的文件, 这个时候新建一个Data文件夹用来存放MongoDB的所有数据,新建一个Log文件夹用来存放日志文件 三:启动MongoDB数据库,在命令行窗口执行下面的命令,执行完成之后会看到下面的提示信息 e:\mongodb\bin\m

创建一个Windows窗体

vs2010下的代码提示快捷键:CTRL + J step: 窗口类赋值(12个参数) 注册窗口类 创建窗口 消息循环 #include<Windows.h> #include<tchar.h> LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界面. 一.创建数据库及数据表(MySQL) #db--jeedev -- ---------------------------- -- Table structure for `app` -- ---------------------------- DROP TABLE IF EXISTS `a

转载——Step by Step 创建一个 Web Service

原创地址:http://www.cnblogs.com/jfzhu/p/4022139.html 转载请注明出处 (一)创建Web Service 创建第一个项目,类型选择ASP.NET Empty Web Application 添加一个新项目 Web Service 然后再创建一个类Contact 代码分别如下. Contact.cs: [Serializable] public class Contact { private string name; public string Name

Step by Step 创建一个Web Service

  (一)创建Web Service 创建一个新的解决方案,第一个项目类型选择ASP.NET Empty Web Application     添加一个新项目 Web Service     然后再创建一个类Contact   代码分别如下. Contact.cs:   HelloWebService.asmx:     (二)创建客户端 下面创建一个客户端调用Web Service,检验一下是否正确.创建一个ASP.NET Empty Web Application     添加服务引用  

Android开发的初学者快速创建一个项目

因为gwf的原因,大陆连不上google所以AndroidSDK是无法更新的 而且设置代理也不一定能解决问题 如果是初学者想快速的了解安卓开发,可以在国内的内网下载整合包 下载地址:http://rj.baidu.com/soft/detail/23485.html?ald 快速创建一个安卓项目------hello world! 1.file--Android application project 3.设置项目名称,app名称,app唯一标识.项目适用于安卓版本 4.图标,界面,项目位置,及