当前位置: 首页 > news >正文

【Windows】【DevOps】Windows Server 2022 采用WinSW将一个控制台应用程序作为服务启动(方便)

下载WinSW

项目地址:

GitHub - winsw/winsw: A wrapper executable that can run any executable as a Windows service, in a permissive license.

下载地址:

https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe

参考配置模板

<service><id>jenkins</id><name>Jenkins</name><description>This service runs Jenkins continuous integration system.</description><env name="JENKINS_HOME" value="%BASE%" /><executable>java</executable><arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments><log mode="roll" /><onfailure action="restart" />
</service>

创建服务目录

结构如下:

PS C:\ConsoleApp1Service> ls目录: C:\ConsoleApp1ServiceMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2024/10/12     15:52           4608 ConsoleApp1.exe
-a----        2024/10/14     10:12       18243033 ConsoleApp1Service.exe
-a----        2024/10/14     10:19            312 ConsoleApp1Service.xml
-a----        2024/10/14     10:25             46 CreateConsoleApp1Service.ps1

ConsoleApp1.exe

控制台程序

ConsoleApp1Service.xml

<service><id>ConsoleApp1Service</id><name>ConsoleApp1Service</name><description>This service runs ConsoleApp1Service continuous integration system.</description>  <executable>C:\ConsoleApp1Service\ConsoleApp1.exe</executable>  <log mode="roll" /><onfailure action="restart" />
</service>

CreateConsoleApp1Service.ps1

.\ConsoleApp1Service.exe install ConsoleApp1Service.xml
Start-Service ConsoleApp1Service

ConsoleApp1Service.exe

下载的WinSW-x64.exe修改文件名为ConsoleApp1Service.exe,保持文件名与.xml配置文件对应!

创建并启动ConsoleApp1Service服务

管理员启动powershell,执行CreateConsoleApp1Service.ps1

服务日志

WinSW日志:ConsoleApp1Service.wrapper.log

2024-10-14 10:40:11,915 DEBUG - Starting WinSW in console mode
2024-10-14 10:40:12,004 INFO  - Installing service 'ConsoleApp1Service (ConsoleApp1Service)'...
2024-10-14 10:40:12,060 INFO  - Service 'ConsoleApp1Service (ConsoleApp1Service)' was installed successfully.
2024-10-14 10:40:13,335 DEBUG - Starting WinSW in service mode
2024-10-14 10:40:13,720 INFO  - Starting C:\ConsoleApp1Service\ConsoleApp1.exe 
2024-10-14 10:40:13,787 INFO  - Started process 4072
2024-10-14 10:40:13,822 DEBUG - Forwarding logs of the process System.Diagnostics.Process (ConsoleApp1) to WinSW.RollingLogAppender

原程序标准输出日志:ConsoleApp1Service.out.log

该程序每秒输出一次时间到终端标准输出

2024-10-14 10:40:13
2024-10-14 10:40:14
2024-10-14 10:40:15
2024-10-14 10:40:16
2024-10-14 10:40:17
2024-10-14 10:40:18
2024-10-14 10:40:19
2024-10-14 10:40:20
2024-10-14 10:40:21

原程序错误输出日志:ConsoleApp1Service.err.log

由于没有运行错误,程序也没有向标准错误输出,因此是空文件。

PS C:\ConsoleApp1Service> cat .\ConsoleApp1Service.err.log
PS C:\ConsoleApp1Service>

服务状态

可以看到服务程序是SYSTEM用户启动,工作在会话ID=0中

http://www.lryc.cn/news/460017.html

相关文章:

  • OpenAI董事会主席Bret Taylor的Agent公司Sierra:专注于赋能下一代企业用户体验
  • 【linux】信号(下)
  • Notepad++ 初学者指南
  • Web Socket 使用详解
  • 【Python Web开发】Python Web开发知识全解析
  • Android开发展开收起功能
  • Sealos Devbox 发布,珍爱生命,远离 CI/CD
  • 数据结构——遍历二叉树
  • 【Ubuntu】在Ubuntu上安装IDEA
  • 解决:gpg: 从公钥服务器接收失败:服务器故障
  • 支持向量机SVM
  • 斯坦福UE4 C++课学习补充25:AI感知组件
  • 大模型 memory 记忆 缓存的应用
  • perl 给特定文件加上特定内容
  • 全面解析网络性能监控系统与网络故障排除技巧,助力IT运维高效管理
  • Centos7 搭建单机elasticsearch
  • 【前端】Bootstrap:JavaScript 组件与插件
  • 部署 Open WebUI
  • HUAWEI_HCIA_实验指南_Lib2.1_交换机基础配置
  • 第4天:用户界面和布局补充材料——`activity_login.xml`解读
  • 《深入浅出LLM基础篇》(五):Propmt工程优化
  • 基于WebSocket实现简易即时通讯功能
  • 2012年国赛高教杯数学建模D题机器人避障问题解题全过程文档及程序
  • Linux驱动开发——设备树
  • spring boot 2.7整合Elasticsearch Java client + ingest attachment实现文档解析
  • 一、PyCharm 基本快捷键总结
  • Windows系统C盘爆满了,如何清理?
  • 【C++】踏上C++学习之旅(一):初识C++和命名空间
  • tensorflow入门案例手写数字识别人工智能界的helloworld项目落地1
  • 深度学习——线性神经网络(三、线性回归的简洁实现)