使用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中可以看到这个服务

48621-20160905085716019-1933123471.png

  48621-20160905085716504-1646615618.png
 

 

 

相关知识

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

image

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

 

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

http://supervisord.org/introduction.html 





转载于:https://www.cnblogs.com/tangruixin/p/3b6a686489f5445d8a5d4c6d1a3e6eb9.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值