[每周一更]-(第28期):Windows服务自启动设置

在这里插入图片描述

需求:有时候有些软件,想在开机后自启动,但是由于屏幕需要录入密码,但是普通开机启动的应用,需要在录入密码进去Windows界面才能启动,但是
不用解锁屏幕但需要运行的应用还是有的,比如一些软件远程服务软件,那么这篇文章就能解决此类问题;

解决:通过将软件注册为Windows的服务,那么在开机后即可跟操作系统一样一起启动,具体细节如下:

一、Windows自带的sc命令

0、进去windows的cmd,windows+R-》cmd 使用管理员账户打开1、注册bat服务或exe服务(bat针对内容语言强规则要求)
sc create Frpc binpath= "C:/frp/startfrpc.bat" start= demand displayname= "frpc" //手动
sc create Frpc binpath= C:/frp/startfrpc.bat start= auto displayname= "frpc"     //自动
sc create frpc binpath= D:/frps/frp/frpc.exe start= auto displayname= "frpc"2、net start frpc3、任务管理器->服务->找到frpc4、命令行进入服务列表:windows+R -> services.msc5、列出所有服务: 	sc queryex type=service state=all6、删除具体的服务:  sc delete frpc由于有些权限限制,该操作为报错:错误1053:服务没有及时形影启动或控制请求,暂未解决,遂采用如下nssm来封装服务

二、使用NSSM将exe封装为服务

NSSM 是一个Windows的服务管理器,以安装客户端frpc为例子
在这里插入图片描述

NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:

  • 支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
  • 安装简单,修改方便
  • 可以重定向输出(并且支持Rotation)
  • 可以自动守护封装了的服务,程序挂掉了后可以自动重启
  • 可以自定义环境变量

这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。

  • 开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
  • 安装简单,并且可以随时修改服务属性,更新也更加方便
  • 可以利用控制台输出直接实现一个简单的日志系统
  • 不用考虑再加一个服务实现服务守护功能
    我觉得它还可以需要增加的一个功能是将输入输出重定向为一个tcp连接,这样可以通过telnet的方式实现程序的交互了,那样就更加好用了。

下载地址:https://nssm.cc/download
教程:https://clear-jackrabbit-ac2.notion.site/Windows-Service-9a7e939012dd4f04a0998090e3e58b04服务管理:
服务管理主要有启动、停止和重启,其命令如下:启动服务:nssm start <servicename>停止服务:nssm stop <servicename>重启服务: nssm restart <servicename>
当然,也可以使用系统自带的服务管理器操作和使用系统的命令。修改参数:
NSSM安装的服务修改起来非常方便,命令如下:nssm edit <servicename>
会自动启动操作界面,直接更改即可。服务删除:
服务删除可以使用如下命令之一:nssm remove <servicename>nssm remove <servicename> confirm
功能没有大的区别,后面的命令是自动确认的,没有交互界面。1、安装,名称frpcnssm install frpc
2、卸载nssm remove frpc
3、查询状态nssm status frpc
4、重启nssm restart frpc

问题汇总

1、nssm 启动frpc ,在开机自启动服务失败

如果您使用了 NSSM 来创建 Windows 服务并将其设置为开机自启动,但服务无法在系统启动时自动启动,则可能是以下原因导致:

  • 用户权限问题:如果您在创建服务时使用了受限制的用户帐户,例如本地用户帐户,服务可能无法在系统启动时以该用户身份启动。尝试在创建服务时使用管理员权限运行 NSSM 并将服务设置为 LocalSystem 帐户,这样它将以系统权限运行并在系统启动时自动启动。
  • 依赖项问题:如果您的服务依赖于其他服务或程序,但这些依赖项无法在系统启动时可用,则您的服务可能无法启动。尝试将服务的启动类型设置为“自动(延迟启动)”,这将在系统启动后一段时间后启动服务,以便它可以等待所需的依赖项可用。
  • NSSM 配置问题:您的 NSSM 配置可能有误。尝试检查 NSSM 配置文件中的参数和路径是否正确,并确保它们指向正确的可执行文件和服务路径。
  • 系统问题:在某些情况下,系统问题可能会导致服务无法在启动时启动。尝试重启系统并检查系统日志以查看是否有与服务启动相关的错误信息。

如果您仍然无法解决问题,请尝试使用其他工具来创建和管理 Windows 服务,例如 Windows 自带的 sc.exe 命令行工具或第三方工具。

2、怎么将服务设置为 LocalSystem 帐户

您可以按照以下步骤将 NSSM 创建的服务设置为 LocalSystem 帐户:

  • 打开命令提示符或 PowerShell,并使用管理员权限运行。
  • 使用 nssm.exe install 命令安装您的服务。例如,nssm.exe install MyService。
  • 打开服务管理器,找到您刚刚创建的服务,并右键单击它。
  • 选择“属性”,然后切换到“登录”选项卡。
  • 选择“此账户”,并输入“NT AUTHORITY\LocalSystem”作为帐户名称。
  • 留空密码和确认密码字段。
  • 单击“应用”并关闭服务属性窗口。

现在,您的服务将使用 LocalSystem 帐户身份运行,并且应该在系统启动时自动启动。请注意,LocalSystem 帐户是具有最高权限的帐户之一,因此请确保您的服务不会以危险的方式使用这些权限。

三、任务计划

在 Windows 电脑中,有一个【计划任务程序】,很少被用到,然而,对于高效人士来说,它具有很多的妙用,比如自动清理回收站、自动开关软件、自动批量处理文件等等。

四、winsw

类似于nssm的注册服务的工具
https://github.com/winsw/winsw/releases

直接到想要注册为服务的软件根目录下运行如下://注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status

五、其他一些关机的操作

windows 批处理bat,设置定时关机:

https://segmentfault.com/a/1190000017189422?utm_source=sf-similar-article

意外断电后重新来电时自动开机

在主板BIOS中有一个“Power Management Setup(电源管理设置)”中,有个“POWER ON AFTER PWFAIL”或“pwron after pw-fail”设置项,

其选项有三,分别为“On(开机)”、“Off(关机)”和“Former-Sts(恢复到到断电前状态)”,将此选项设置为 “On”,当你的电脑意外断电后重新接通电源时电脑就会自动开机。

根据BIOS版本和主板的不同,此项设置也会有所不同,具体请参见主板说明书。但建议大家最好还是将此选项设置为“Off”,不要用此功能自动开机。

因为这种功能极其不稳定,所以它很可能导致在正常断电情况下,一接通电源电脑就自动开机;或是打开插线板开关时,也有可能会使电脑自动开机。因此对主板会有所损害。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《每天一分钟学习C语言·二》

1、当使用const关键字变量就无法修改可当常量来用。常量指针不能通过指针来改变变量的值&#xff0c;但可以通过其他引用来改变变量的值常量指针也可以指向其他变量地址&#xff0c;如 int a5,b6; const int *pt &a; *pt6; //错误 a6; //正确 pt&b; //正确指针常量指…

互式流程图|BPMN JointJS+ JavaScript 3.7.3 Crack

JointJS 是 JavaScript 图表库为卓越的 UI 提供支持 使用经过验证的库快速、自信地构建高级视觉和无代码/低代码应用程序。 赋能全球行业领导者 使用 JointJS 构建的图表 一个库&#xff0c;‍无限 UI 选项 直接在您的应用程序中享受交互式流程图、BPMN 和其他图表工作室。利用…

7000字详解ERP管理系统!

在当今竞争激烈的商业世界中&#xff0c;中小企业不仅需要保持灵活性&#xff0c;更需要高效管理企业资源。 你可能听说过ERP系统&#xff0c;但它究竟是什么&#xff1f;它为何成为中小企业管理的不二选择&#xff1f;又是如何助力中小企业整合资源、提升效率&#xff0c;并在…

使用极狐gitlab初始化导入本地项目

本地有项目的情况需要同步到极狐gitlab上 第一步&#xff1a; 在gitlab上新创建一个空项目 ⚠️⚠️⚠️这里需要注意红色圈住的地方一定不要选择&#xff0c;因为选择了这个后续会有不必要的麻烦 第二步 在本地项目中删除原来的.git文件(这一步如果是新项目可以忽略&#…

VMware网络设置+Linux网卡设置+主机与虚拟机相互Ping通

目录 1. Linux网卡设置 1.1 ifcfg-ens33 1.2 修改配置信息 1.3 添加IP信息 1.4 重启网卡、关闭防火墙 2. VMware网络设置 3. 设置主机网络 4. 测试主机与虚拟机网络是否连通 4.1 主机ping虚拟机的Linux 4.2 虚拟机Linux来ping主机 1. Linux网卡设置 刚开始安装的Lin…

〖Python网络爬虫实战㊸〗- 极验滑块介绍(五)

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

Java对接腾讯多人音视频房间回调接口示例

在前面我们已经对接好了腾讯多人音视频房间相关内容&#xff1a;Java对接腾讯多人音视频房间示例 为了完善业务逻辑&#xff0c;我们还需要对接它的一些回调接口 官方文档地址 主要就下面这些 这里因为比较简单直接上代码 里面有些工具类和上一章一样这里就没贴&#xff0c;需要…

如何安装运行Wagtail并结合cpolar内网穿透实现公网访问网站界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

pycharm或anaconda安装第三方库的办法

https://pypi.tuna.tsinghua.edu.cn/simple/ ctrlF 查找seaborn 我是直接去镜像网站或官方网站找要下载安装的包&#xff0c;手动下载下来&#xff0c;再手动安装会比较快。 输入 pip install D:\Downloads\seaborn-0.9.0-py3-none-any.whl 回车&#xff0c;就很酸爽&#xff…

vscode设置保存时代码格式自动对齐

1.点击左下角扩展图标→点击“设置” 2.工作区→文本编辑器→格式化→format on save 打钩 3.看看效果&#xff1a; 加一个数据gender&#xff0c;跟前面的msg、age不对齐 CtrlS保存后&#xff0c;自动对齐了

Linux服务器已有硬盘扩容

1、进入服务器使用命令“lsblk”&#xff0c;可以看到vda2实际上是有1.2T空间的&#xff0c;但只使用了400G空间。 lsblk 2、 查看并新建磁盘分区 fdisk /dev/vda 输入“n”新建一个分区&#xff0c; “Select”输入“p”表示新建一个主分区&#xff0c; “Partition number”…

openwrt docker nginx 站点搭建

应为家里一直是 openwrt 软路由&#xff0c;这样以来也不用 重新买服务器了&#xff0c;就直接在 openwrt 上面跑个 nginx就行了。把自己的一些东西就可以放上面了。资源再利用哈哈&#xff1b; 先 ssh 连接上 openwrt &#xff1a;我这里的 openwrt 最近刚更新的固件&#xff…

HNU-数据库系统-实验1-数据定义/数据操纵

数据库系统 课程实验1数据定义/数据操纵 计科210X 甘晴void 202108010XXX 目录 文章目录 数据库系统 课程实验1<br>数据定义/数据操纵实验目的实验样例实验环境实验内容1.1 数据库定义1&#xff09;实验内容与要求2&#xff09;实验重难点3&#xff09;实验基础知识①模…

fastjson1.2.24 反序列化漏洞(CVE-2017-18349)分析

FastJson在< 1.2.24 版本中存在反序列化漏洞&#xff0c;主要原因FastJson支持的两个特性&#xff1a; fastjson反序列化时&#xff0c;JSON字符串中的type字段&#xff0c;用来表明指定反序列化的目标恶意对象类。fastjson反序列化时&#xff0c;字符串时会自动调用恶意对…

【数据结构】使用循环链表结构实现约瑟夫环问题

目录 1.循环链表的定义 2.约瑟夫环问题 3.创建循环链表 4.删除节点操作 5.打印所有节点 6.实现约瑟夫环问题的完整程序代码 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo_…

自动化测试知识总结(含资料)

一、自动化测试 自动化测试的定义&#xff1a;使用一种自动化测试工具来验证各种软件测试的需求&#xff0c;它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分&#xff0c;是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况…

jsp学生选课系统

介绍 一款简单的Servlet mysql jsp的选课系统&#xff0c;主要有三大模块&#xff0c;管理员模块&#xff0c;教师模块&#xff0c;学生模块。管理员模块主要功能模块有系统管理&#xff0c;课程管理&#xff0c;教师管理&#xff0c;课表管理&#xff0c;学生管理&#xff…

ADB:获取坐标

命令&#xff1a; adb shell getevent | grep -e "0035" -e "0036" adb shell getevent -l | grep -e "0035" -e "0036" 这一条正确&#xff0c;但是&#xff0c;grep给过滤了&#xff0c;导致没有输出 getevent -c 10 //输出10条信息…

大模型 RLHF 实战!【OpenAI独家绝技RLHF!RLHF的替代算法DPO!Claude 暗黑科技 RAIHF!】

大模型 RLHF 实战 大模型 RLHF 实战RLHF&#xff1a;OpenAI独家绝技RLHF 的问题 DPO 直接偏好优化算法&#xff1a;RLHF的替代算法公式 1 - 4&#xff1a;KL散度下奖励的最大化目标使用 DPO 微调 Llama 2 RAIHF 大模型 RLHF 实战 RLHF&#xff08;基于人类反馈的强化学习&#…

Springboot管理系统数据权限过滤(三)——0业务入侵实现部门数据权限过滤

上一章&#xff0c;讲解了SQL拦截器的&#xff0c;做了一个简单的SQL改造。本章要实现&#xff1a; 仅对指定的service方法内执行的SQL进行处理&#xff1b;完成对部门权限的过滤&#xff1b; 以下简单用一个图说明了整个处理过程&#xff0c;红色框住的部分&#xff0c;就是…