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

2024-01-08 17:49:38

在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仓库

文章来源:https://blog.csdn.net/wh2574021892/article/details/135459833
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。