七叶笔记 » golang编程 » Windows下的守护进程NSSM

Windows下的守护进程NSSM

Windows下的守护进程NSSM

由于工作的需要,开发了一个查询IP所在地的服务.考虑到服务可能跨平台,因此采用了golang进行开发.

IP查询服务,是一个简单读取IP地址数据文件,通过http协议进行交互.

由于客户的服务器是Windows,所以使用golang交叉编译一个Windows的 EXE 文件.运行方式可以在cmd下运行这个EXE文件,也可以使用 SC 创建Windows服务.但是sc创建的服务,在Windows容易出现” [SC] StartService 失败 1053: 服务没有及时响应启动或控制请求。”,而且起不到守护进程的作用.

根据这样的需求在网上搜索,检索到一款软件非常适合这样的需求,这款软件是nssm.exe,可以实时监控运行服务的状态,如果服务被异常关闭,nssm将重新启动它,起到守护进程的作用.简单的使用:

nssm.exe install testipserver c:\testip\testip.exe //安装服务

nssm.exe start testipserver //启动服务

操作简单,比较人性化,没有sc的= 后面还要一个空格,难以理解这样的设计有何用意.

相关文章