通过WinSW将windows可执行程序注册为windows服务

在linux中,我们经常会用nohup等命令来将部分可执行的命令放到后台运行,即使运行窗口关闭了程序也照常运行,但是在windows中,如果下载的程序本身没有提供后台运行的支持,那么我们就得一直保持着窗口不关闭,当服务器重启或者其他原因导致的窗口关闭时,程序就直接停止了,实际上我们可以利用一些程序来将这些程序做成一个windows服务(开机自动启动)

WinSW

1.下载

下载地址

2.介绍

这边我使用filebeat服务(文件内容变动采集)作为示例,其他的服务请自行参考修改。

filebeat的启动命令为filebeat.exe -e -c filebeat.yml,启动后会有一个程序占用着cmd窗口,cmd关闭则程序关闭
在这里插入图片描述

3.配置

我们将winsw.exe 复制到文件夹目录修改为filebeat-server.exe(自己定义),再新增filebeat-server.xml。一般修改id,name,description,executeable,arguments 即可,executeable+argumens组成执行命令

<service>
    <id>filebeat-server</id>
    <name>filebeat-server</name>
    <description>filebeat文件变更捕获</description>
    <!-- 可设置环境变量 -->
    <env name="HOME" value="%BASE%"/>
    <executable>%BASE%\filebeat.exe</executable>
    <arguments>-e -c filebeat.yml</arguments>
    <!-- <logmode>rotate</logmode> -->
    <logpath>%BASE%\logs</logpath>
    <log mode="roll-by-size-time">
      <sizeThreshold>10240</sizeThreshold>
      <pattern>yyyyMMdd</pattern>
      <autoRollAtTime>00:00:00</autoRollAtTime>
      <zipOlderThanNumDays>5</zipOlderThanNumDays>
      <zipDateFormat>yyyyMMdd</zipDateFormat>
    </log>
</service>
4.安装服务

我们在当前目录打开cmd,执行filebeat-server.exe install 可以看到已经安装成功了

在这里插入图片描述

5.使用

接下来我们打开服务窗口,已经可以看到filebeat服务了,接下来就按照服务的使用方式使用即可

在这里插入图片描述

完整命令请参考github仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值