当前位置: 首页 > 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中

相关文章:

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

下载WinSW 项目地址&#xff1a; GitHub - winsw/winsw: A wrapper executable that can run any executable as a Windows service, in a permissive license. 下载地址&#xff1a; https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW-x64.exe 参考配置模…...

OpenAI董事会主席Bret Taylor的Agent公司Sierra:专注于赋能下一代企业用户体验

本文由readlecture.cn转录总结。ReadLecture专注于音、视频转录与总结&#xff0c;2小时视频&#xff0c;5分钟阅读&#xff0c;加速内容学习与传播。 视频来源 youtube: https://www.youtube.com/watch?vriWB5nPNZEM&t47s 大纲 介绍 欢迎与介绍 介绍Bret Taylor&#x…...

【linux】信号(下)

8. 阻塞信号 (一)信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery)信号从产生到递达之间的状态,称为信号未决(Pending)进程可以选择阻塞 (Block )某个信号被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作(即被阻塞的信…...

Notepad++ 初学者指南

引言 对于初学者来说&#xff0c;选择合适的编程工具很重要&#xff0c;特别是考虑到易用性和计算机资源的需求。 虽然集成开发环境&#xff08;IDE&#xff09;如 Eclipse、IntelliJ IDEA 和 Visual Studio 提供了许多强大的功能&#xff0c;但对于刚开始学习编程的人来说&a…...

Web Socket 使用详解

在信息爆炸的时代&#xff0c;用户对网页的期待早已超越了静态内容的展示。实时聊天、股票报价、协同编辑等功能的实现&#xff0c;都离不开服务器与客户端之间持续、高效的数据交互。传统的HTTP请求-响应模型难以满足这种需求&#xff0c;而WebSocket的出现&#xff0c;为构建…...

【Python Web开发】Python Web开发知识全解析

Python Web开发知识全解析 Python 是一种强大的编程语言&#xff0c;以其简洁和高效而闻名&#xff0c;尤其在 Web 开发领域&#xff0c;它有着广泛的应用。Python 提供了许多功能强大且灵活的 Web 框架&#xff0c;如 Flask、Django、FastAPI 等&#xff0c;使得构建现代 Web…...

Android开发展开收起功能

Android开发展开收起功能 文字过长展开收起功能很普通&#xff0c;也很需要。 一、思路&#xff1a; 自定义控件MoreTextView 二、效果图&#xff1a; 三、关键代码&#xff1a; public class MoreTextView2 extends LinearLayout {/*** TextView的实际高度*/private int …...

Sealos Devbox 发布,珍爱生命,远离 CI/CD

水滴攻击太阳系用的是最原始的攻击方式&#xff1a;撞击&#xff01;却又如此有效率。 当我们搞了一堆容器、编排、CI/CD、DevOps&#xff0c;发明了一大堆没什么用的名词之后&#xff0c;最终发现这些操作都是花里胡哨&#xff0c;让开发者越陷越深。 最终你会发现一个真理&…...

数据结构——遍历二叉树

目录 什么是遍历二叉树 根据遍历序列确定二叉树 例题&#xff08;根据先序中序以及后序中序求二叉树&#xff09; 遍历的算法实现 先序遍历 中序遍历 后序遍历 遍历算法的分析 二叉树的层次遍历 二叉树遍历算法的应用 二叉树的建立 复制二叉树 计算二叉树深度 计算二…...

【Ubuntu】在Ubuntu上安装IDEA

【Ubuntu】在Ubuntu上安装IDEA 零、前言 最近换了Ubuntu系统&#xff0c;但是还得是要写代码&#xff0c;这样就不可避免地用到IDEA&#xff0c;接下来介绍一下如何在Ubuntu上安装IDEA。 壹、下载 这一步应该很容易的&#xff0c;直接打开IDEA的下载页面&#xff0c;点击下…...

解决:gpg: 从公钥服务器接收失败:服务器故障

当你添加密钥时报错&#xff0c;可以按照下面的步骤&#xff0c;依次输入。 # 停止 Network Manager 服务 sudo service network-manager stop# 删除 Network Manager 的状态文件 sudo rm /var/lib/NetworkManager/NetworkManager.state# 重新启动 Network Manager 服务 sudo …...

支持向量机SVM

目录 1 SVM直觉理解2. 软硬间隔3. 升维转换及核技巧入门 参考资料 1 SVM直觉理解 通过一条直线将两类数据分开&#xff0c;并且当有新的数据加入时&#xff0c;通过该条直线就能判别其属于哪一类 为了区分两类数据&#xff0c;N为数据的样本数&#xff0c;M为维度数&#xf…...

斯坦福UE4 C++课学习补充25:AI感知组件

文章目录 一、引入感知组件并绑定委托二、优化角色旋转 一、引入感知组件并绑定委托 PawnSensingComponent是UE中用于感知其他 Pawn&#xff08;或 Actor&#xff09;存在的一个组件&#xff0c;常用于 AI 角色的视觉、听觉等感知功能。它为 AI 提供了基础的感知能力&#xff…...

大模型 memory 记忆 缓存的应用

在探讨大模型的“memory”&#xff08;记忆&#xff09;功能时&#xff0c;我们通常会涉及缓存、存储以及如何有效管理和利用这些记忆来增强模型的性能。以下是对大模型memory记忆、缓存及相关概念的详细分析&#xff1a; 一、大模型的记忆功能 大模型&#xff0c;特别是大型…...

perl 给特定文件加上特定内容

perl 给特定文件加上特定内容 给所有的输入文件&#xff0c;加上特定的内容 本例中&#xff0c;给所有的输入文件内加入## Copyright xxx 如果检测到已经有## Copyright字样的行&#xff0c;那么不添加&#xff0c;具体代码如下。 可以使用该脚本&#xff0c;给所有的verilog文…...

全面解析网络性能监控系统与网络故障排除技巧,助力IT运维高效管理

目录 一、什么是网络性能监控系统&#xff1f; 1.1 网络性能监控系统的定义与作用 二、网络性能监控的关键指标 三、网络故障排除的重要性 3.1 为什么网络故障排除至关重要&#xff1f; 3.2 网络故障的常见类型 四、如何高效进行网络故障排除&#xff1f; 4.1 系统化的…...

Centos7 搭建单机elasticsearch

以下是在 CentOS 7 上安装 Elasticsearch 7.17.7 的完整步骤&#xff1a;&#xff08;数据默认保存在/var/lib/elasticsearch下&#xff0c;自行更改&#xff09; 一、装 Java 环境 Elasticsearch 是用 Java 编写的&#xff0c;所以需要先安装 Java 运行环境。 检查系统中是…...

【前端】Bootstrap:JavaScript 组件与插件

Bootstrap 不仅提供了强大的 CSS 工具和组件&#xff0c;还内置了丰富的 JavaScript 组件和插件。这些 JavaScript 组件能够增强网页的交互性&#xff0c;让开发者在不编写大量 JavaScript 代码的情况下快速实现各种动态效果。Bootstrap 的 JavaScript 组件基于 jQuery&#xf…...

部署 Open WebUI

1. 安装docker 2.启动Hyper-v 3.下载 安装 WSL wsl --update wsl --install 4. 打开 DeskDocker 5. 打开 运行 ollama 参考 Windows 部署 ollama-CSDN博客 6. 部署 运行 open webui docker docker run -d -p 3000:8080 --add-hosthost.docker.internal:host-gateway -v o…...

HUAWEI_HCIA_实验指南_Lib2.1_交换机基础配置

1、原理概述 交换机之间通过以太网电接口对接时需要协商一些接口参数&#xff0c;比如速率、双工模式等。交换机的全双工是指交换机在发送数据的同时也能够接收数据&#xff0c;两者同时进行。就如平时打电话一样&#xff0c;说话的同时也能够听到对方的声音。而半双工指在同一…...

第4天:用户界面和布局补充材料——`activity_login.xml`解读

下面是对“第4天&#xff1a;用户界面和布局补充材料”该文学习的更深层次的补充材料&#xff0c;对 activity_login.xml 文件的理解。 下面对activity_login.xml’ 文件中每一行进行详细解释&#xff1a; <?xml version"1.0" encoding"utf-8"?>声…...

《深入浅出LLM基础篇》(五):Propmt工程优化

&#x1f389;AI学习星球推荐&#xff1a; GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料&#xff0c;配有全面而有深度的专栏内容&#xff0c;包括不限于 前沿论文解读、…...

基于WebSocket实现简易即时通讯功能

代码实现 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifa…...

2012年国赛高教杯数学建模D题机器人避障问题解题全过程文档及程序

2012年国赛高教杯数学建模 D题 机器人避障问题 图1是一个800800的平面场景图&#xff0c;在原点O(0, 0)点处有一个机器人&#xff0c;它只能在该平面场景范围内活动。图中有12个不同形状的区域是机器人不能与之发生碰撞的障碍物&#xff0c;障碍物的数学描述如下表&#xff1a…...

Linux驱动开发——设备树

文章目录 1 什么是设备树&#xff1f;2 DTS、DTB和DTC3 DTS语法3.1 dtsi头文件3.2 设备节点3.3 标准属性3.4 根节点compatible属性3.5 向节点追加或修改内容 4 创建小型模板设备树5 设备树在系统中的体现6 绑定信息文档7 设备树常用OF操作函数7.1 查找节点的OF函数7.2 查找父/子…...

spring boot 2.7整合Elasticsearch Java client + ingest attachment实现文档解析

一、软件环境 软件版本号备注Spring boot2.7.23.x版本建议使用ElasticSearch8.xElasticSearch7.17.4ElasticSearch 7.x 可使用JDK 8 ElasticSearch 8.x 要求使用JDK 11 二、安装ElasticSearch 下载地址&#xff1a;https://artifacts.elastic.co/downloads/elasticsearch/el…...

一、PyCharm 基本快捷键总结

PyCharm 快捷键 前言一、编辑&#xff08;Editing&#xff09;二、查找/替换(Replace)三、运行(Running)四、重构(Refactoring)五、基本(General) 前言 下面我们将学习一些 Pycharm 中的快捷键来帮我们更好的使用工具。 一、编辑&#xff08;Editing&#xff09; 快捷键快捷键…...

Windows系统C盘爆满了,如何清理?

Windows系统C盘爆满了&#xff0c;如何清理&#xff1f; 大家好&#xff0c;我是秋意零。 相信使用过Windows系统的朋友&#xff0c;都见过C盘那道靓丽的 “红色风景线” &#xff01; 我自己的Win10系统&#xff0c;已经使用了4-5年时间了。最近频频出现"红色风景线&q…...

【C++】踏上C++学习之旅(一):初识C++和命名空间

文章目录 前言1. 初识C2. C的发展阶段2. 命名空间2.1 为什么要有命名空间&#xff1f;2.2 命名空间的语法2.3 命名空间的原理2.4 使用命名空间的三种方式2.4.1 加命名空间名称及作用域限定符( :: )2.4.2 使用using关键字将命名空间中某个成员 引入2.4.3 使用using namespace 命…...

tensorflow入门案例手写数字识别人工智能界的helloworld项目落地1

参考 https://tensorflow.google.cn/?hlzh-cn https://tensorflow.google.cn/tutorials/keras/classification?hlzh-cn 项目资源 https://download.csdn.net/download/AnalogElectronic/89872174 文章目录 一、案例学习1、导入测试和训练数据集&#xff0c;定义模型&#xff…...