百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Windows系统服务自动注册程序工具WinSW

yuyutoo 2024-10-29 17:28 1 浏览 0 评论

概述

在现实生活中,使用Windows系统的电脑的时候,可能会遇到这么一种情况:想把一些应用程序添加为开机启动项。对于有图形界面的应用程序,一般不存在问题。但是如果想运行命令行应用程序,就不是那么方便了。一种笨办法就是写个bat,放到启动文件夹里,就可以开机启动了。开机之后,你就会发现,这样会一直显示着一个CMD窗口,而且这个窗口不能关,关了程序就停了。

其实Windows系统自带后台程序管理的功能,也就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。

今天我们要介绍的WinSW,它就是一个可以将Windows上的任何一个程序注册为服务的工具。同样也可以进行卸载该服务。

安装

首先要下载winsw。它是一个单个的可执行文件,我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统。

下载地址:https://github.com/winsw/winsw/releases

这里我们下载v2.12.0版本,下载链接地址

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

配置文件

这里我们将WinSW.exe放到E:\service目录下,然后在WinSW.exe同级的目录下,新建winsw.xml文件,输入以下内容。

winsw.xml文件内容

<?xml version="1.0" encoding="UTF-8" ?>
<service>
    <id>TinywanFrpServer0.54.0</id>
    <name>Tinywan Frp Server 0.54.0 </name>
    <description>This service runs frp reverse proxy.</description>
    <executable>E:\frp_0.54.0_windows_amd64\frpc.exe</executable>
    <arguments>-c E:\frp_0.54.0_windows_amd64\frpc.toml</arguments>
    <logmode>reset</logmode>
</service>

最终E:\service目录下配置和可执行文件

WinSW.exe  winsw.xml

注册服务

配置文件编写完之后,将配置文件与WinSW.exe放在同一目录中。注意对应WinSW.exe的配置文件名称应该是WinSW.xml。此时,WinSW.exe、WinSW.xml以及你的应用程序应该都是在同一目录中。然后用管理员权限打开一个命令提示符窗口,cd进入到应用程序所在目录,可以通过输入下面的命令来进行控制应用程序对应的服务:

然后打开管理员权限命令提示符,使用下面的命令安装。

$ ./WinSW.exe install
2024-08-29 14:56:43,604 INFO  - Installing service 'Layne Frp Server 0.54.0  (LayneFrpServer0.54.0)'...
2024-08-29 14:56:43,648 INFO  - Service 'Layne Frp Server (frp)' was installed successfully.

启动服务

$ ./WinSW.exe start
2024-08-29 15:11:40,418 INFO  - Starting service 'Layne Frp Server 0.54.0  (LayneFrpServer0.54.0)'...
2024-08-29 15:11:40,976 INFO  - Service 'Layne Frp Server 0.54.0  (LayneFrpServer0.54.0)' started successfully.

安装服务命令执行后,如果返回值为0,就表示服务已经安装成功。此时在windows服务的窗口,就能看到你刚才安装的服务了

如果服务启动有问题,可以通过错误日志文件WinSW.wrapper.log查看详情

2024-08-29 14:58:46,486 ERROR - Failed to start service.
System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'E:\frp_0.54.0_windows_amd64\frpc.exe' with working directory 'E:\service'. 系统找不到指定的文件。
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo )
   at System.Diagnostics.Process.StartCore(ProcessStartInfo )
   at System.Diagnostics.Process.Start()
   at WinSW.Util.ProcessHelper.StartProcessAndCallbackForExit(Process processToStart, String executable, String arguments, Dictionary`2 envVars, String workingDirectory, Nullable`1 priority, ProcessCompletionCallback callback, LogHandler logHandler, Boolean hideWindow)
   at WinSW.WrapperService.StartProcess(Process processToStart, String arguments, String executable, LogHandler logHandler)
   at WinSW.WrapperService.DoStart()
   at WinSW.WrapperService.OnStart(String[] args)

Nacos注册为windows服务

下载Nacos

二进制包下载地址:https://nacos.io/download/nacos-server

nacos-service.xml配置文件

<service>
    <!-- 唯一服务ID -->
    <id>NacosServer</id>
    <!-- 显示服务的名称 -->
    <name>Nacos Server 2.4.2 </name>
    <!-- 服务描述 -->
    <description>This service runs Nacos Server </description>
    <!-- 日志路径 -->
    <logpath>你的nacos路径\nacos\bin\logs\</logpath>
    <!-- 日志模式 -->
    <logmode>roll</logmode>
    <!-- 可执行文件的命令 -->
    <executable>E:\service\nacos\nacos\bin\startup.cmd</executable>
    <!-- 停止可执行文件的命令 -->
    <stopexecutable>E:\service\nacos\nacos\bin\shutdown.cmd</stopexecutable>
</service>

安装Nacos Service服务

nacos-service.exe install

2024-09-05 19:46:32,748 INFO  - Installing service 'Nacos Server 2.4.2  (NacosServer)'...
2024-09-05 19:46:32,805 INFO  - Service 'Nacos Server 2.4.2  (NacosServer)' was installed successfully.

开启服务

nacos-service.exe start
2024-09-05 19:48:48,307 INFO  - Starting service 'Nacos Server 2.4.2  (NacosServer)'...
2024-09-05 19:48:48,331 INFO  - Service 'Nacos Server 2.4.2  (NacosServer)' has already started.

查看Nacos Service服务

常用命令

winsw install 安装服务

winsw uninstall 卸载服务

winsw start 开启服务

winsw stop 停止服务

winsw restart 重新启动服务

winsw status 检查服务的当前状态

相关推荐

MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

前言:本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写...

thinkphp5多语言怎么切换(thinkphp5.1视频教程)

thinkphp5多语言进行切换的步骤:第一步,在配置文件中开启多语言配置。第二步,创建多语言目录。相关推荐:《ThinkPHP教程》第三步,编写语言包。视图代码:控制器代码:效果如下:以上就是thi...

基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。主要特性基于Auth验证的权限管理系统支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置支持单...

Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示

本文实例讲述了Thinkphp5.0框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:Thinkphp5.0控制器向视图view的赋值方式一(使用fetch()方...

thinkphp5实现简单评论回复功能(php评论回复功能源码下载)

由于之前写评论回复都是使用第三方插件:畅言所以也就没什么动手,现在证号在开发一个小的项目,所以就自己动手写评论回复,没写过还真不知道评论回复功能听着简单,但仔细研究起来却无法自拔,由于用户量少,所以...

ThinkPHP框架——实现定时任务,定时更新、清理数据

大家好,我是小蜗牛,今天给大家分享一下,如何用ThinkPHP5.1.*版本实现定时任务,例如凌晨12点更新数据、每隔10秒检测过期会员、每隔几分钟发送请求保证ip的活性等本次分享,主要用到一个名为E...

BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统

BeyongCms内容管理系统(简称BeyongCms)BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统,适用于企业Cms,个人站长等,针对移动App、小程序优化;提供完善简...

YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发

介绍YimaoAdminv3.0.0企业建站系统,使用thinkphp5.1.27+mysql开发。php要求5.6以上版本,推荐使用5.6,7.0,7.1,扩展(curl,...

ThinkAdmin-V5开发笔记(thinkpad做开发)

前言为了快速开发一款小程序管理后台,在众多的php开源后台中,最终选择了基于thinkphp5的,轻量级的thinkadmin系统,进行二次开发。该系统支持php7。文档地址ThinkAdmin-V5...

thinkphp5.0.9预处理导致的sql注入复现与详细分析

复现先搭建thinkphp5.0.9环境...

thinkphp5出现500错误怎么办(thinkphp页面错误)

thinkphp5出现500错误,如下图所示:相关推荐:《ThinkPHP教程》require():open_basedirrestrictionineffect.File(/home/ww...

Thinkphp5.0极速搭建restful风格接口层

下面是基于ThinkPHPV5.0RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层。1、下载Thin...

基于ThinkPHP5.1.34 LTS开发的快速开发框架DolphinPHP

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机...

ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法

漏洞描述由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP5.0系列...

Thinkphp5代码执行学习(thinkphp 教程)

Thinkphp5代码执行学习缓存类RCE版本5.0.0<=ThinkPHP5<=5.0.10Tp框架搭建环境搭建测试payload...

取消回复欢迎 发表评论: