windos exe 以服务的形式运行(开机运行)

发布时间:2024年01月11日

windos? 品台编写的 小工具 exe? 或者 批处理 .bat? 经常需要开机自启动,可以直接把它 加在开启启动项,或者做成 windos服务,这样既可以开机自动启动而且还可以 防止误触关闭掉;

windos 以服务启动 exe/bat? 的通用方式:

WinSWicon-default.png?t=N7T8https://github.com/winsw/winsw/releases/tag/v3.0.0-alpha.11

选择你对于的平台就可以,下面就以nginx 和 minio 来做示例

以服务的方式运行 nginx
  1. 下载? WinSW-x64.exe, 放到 nginx.exe 同目录
  2. ?修改 WinSW-x64.exe 为 nginx-service.exe? (非必须)
  3. ?编写同名 的 .xml 文件? nginx-service.xml
    <service>
    	<id>nginx</id>
    	<name>nginx</name>
    	<description>nginx</description>
    	<logpath>C:\nginx-1.22.1</logpath>
    	<logmode>roll</logmode>
    	<depend></depend>
    	<executable>C:\nginx-1.22.1\nginx.exe</executable>
    	<stopexecutable>C:\nginx-1.22.1\nginx.exe -s stop</stopexecutable>
    </service>
  4. ?同目录下 cmd 运行命令进行安装

    # 安装nginx服务 命令
    nginx-service.exe  install
    
    # 启动nginx服务 命令
    nginx-service.exe  start
    
    # 停止nginx服务 命令
    nginx-service.exe  stop
    
    # 查看nginx服务 状态 命令
    nginx-service.exe status
    
    # 卸载nginx服务 命令
    nginx-service.exe uninstall

以服务的方式运行 minio
  1. 下载? WinSW-x64.exe, 放到 minio.exe? 同目录
  2. ?修改 WinSW-x64.exe 为 minio-service.exe?
  3. ?编写 run.bat 用来启动 minio
    # 设置用户名
    set MINIO_ROOT_USER=admin
    # 设置密码(8位)
    set MINIO_ROOT_PASSWORD=12345678
    minio.exe server --address :9000 --console-address :9001 C:\MinIO\Datum\
  4. ?编写同名 的 .xml 文件? minio-service.xml,这里直接运行的是 .bat 批处理文件
    <service>
       <!-- 指定Windows内部用户标识服务的唯一id -->
       <id>minio-server</id>
       <!-- 指定Windows服务的简短唯一名称 -->
       <name>minio-server</name>
       <!-- 对服务的完整描述 -->
       <description>minio文件存储服务器</description>
       <!-- 可设置环境变量 -->
       <env name="MINIO_HOME" value="%BASE%"/>
       <!-- 指定要启动的可执行文件 -->
       <executable>%BASE%\run.bat</executable>
       <!-- 指定日志文件的目录,默认为配置文件所在的目录 -->
       <logpath>%BASE%\logs</logpath>
       <!-- 设置日志模式为按文件大小和时间滚动 -->
       <log mode="roll-by-size-time">
           <!-- 日志文件大小为10240kb生成新日志文件 -->
           <sizeThreshold>10240</sizeThreshold>
           <!-- 设置日志文件名按时间的格式 -->
           <pattern>yyyyMMdd</pattern>
           <!-- 设置每天按时间滚动日志的时间 -->
           <autoRollAtTime>00:00:00</autoRollAtTime>
           <!-- 文件保留天数(需要autoRollAtTime同时使用) -->
           <zipOlderThanNumDays>7</zipOlderThanNumDays>
           <!-- <zipDateFormat>yyyyMMdd</zipDateFormat> -->
       </log>
    </service>

  5. ??同目录下 cmd 运行命令进行安装
    # 安装 minio 服务 命令
    minio-service.exe  install
    
    # 启动 minio 服务 命令
    minio-service.exe  start
    
    # 停止 minio 服务 命令
    minio-service.exe  stop
    
    # 查看 minio 服务 状态 命令
    minio-service.exe status
    
    # 卸载 minio 服务 命令
    minio-service.exe uninstall

这样的姿势 是不是超方便, 其实他还有好多其他命令,比方自动重启等等,你们可以自己探索下

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