windows/win免登录配置开机启动服务

win系统工具

Windows Service

当Windows 启动的时候,还没有登录账号的时候,此时Windows中设置为auto状态的Service 将会在Session 0中运行。可以按照如下步骤去实现Windows Service:
\1. 如果还没有实现过Windows Service 程序的同学,可以参考这篇文章《Simple Windows Service in C++》去实现。
\2. 通过命令行创建Service, 主要注意start= auto设置Service为开机启动。

sc create “SERVICE_NAME” binpath= "SERVICE_PROGRAM" displayname= "SERVICE_DESCRIPTION" start= auto

Windows Startup Script

按照如下步骤:
\1. 打开本地的组策略管理,运行命令gpedit
\2. 然后依次打开Computer Configuration->Windows Settings->Scripts-> Startup, 在Startup中配置需要开机启动的脚本或者程序。
在机器中的配置,我们都尽可能的希望自动化,于是希望通过脚本来完成这个动作。可惜没有CMD 命令可以直接使用这种方法添加启动程序,后来博主搜索了一些方法,有通过直接修改注册表的、也有通过vb脚本去实现的,但这些方法个人觉得还不够直接,简单。
于是博主找到了接下来要说的方法,通过Windows定时任务管理器。

Windows Schedule Task

Windows定时任务管理器,提供了强大的功能:可以定时的执行任务,除了按照时间去触发定时任务,其还提供了开机启动触发程序运行的功能,你可以通过图形界面的方式配置,也可以通过命令方式:

  • 依次打开

    Control Panel -> Administrative Tools -> Task Scheduler

    ,然后再里面新建自己的任务。主要注意以下两点:

    • 任务运行的账号选成”System”
    • 触发器中,选择At Startup触发器
  • 使用如下命令行:

schtasks /create /TN "TASK_NAME" /RU SYSTEM /SC ONSTART /TR "TASK_PROGRAM"

参数说明:
    /create     创建新计划任务
    /TN        taskname  指定唯一识别这个任务计划的名称
    /RU        username   指定任务在其下运行的“运行方式”用户帐户(用户上下文)。对于系统帐户,有效值是 ""、"NT AUTHORITY\SYSTEM" 或"SYSTEM"。对于 v2 任务,"NT AUTHORITY\LOCALSERVICE"和"NT AUTHORITY\NETWORKSERVICE"以及常见的 SID对这三个也都可用。
 /SC   schedule     指定计划频率。有效计划任务:  MINUTE、 HOURLY、DAILY、WEEKLY,MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT.
    /TR        taskrun    指定在这个计划运行时间和程序路径向文件名

第三方工具

Instsrv + Srvany

配置方法如下

https://blog.csdn.net/wuyuander/article/details/112751303
https://blog.csdn.net/hellojoy/article/details/53411848

NSSM - the Non-Sucking Service Manager

简介(以nodeJs部署为系统服务为例)

NSSM是一款可将Nodejs项目注册为Windows系统服务的工具。当你的Node.js项目需要部署在Windows Server上时,NSSM是一个不错的选择。

特点

NSSM将Node.js项目注册为服务后,启动、停止、重启皆由windows来管理,所以我们不必担心NSSM无法处理项目因意外的停止,而Windows的服务管理即可处理这些问题。

使用

1.下载NSSM download.
2.根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。
3.cmd定位至nssm.exe所在目录。
4.输入 nssm install {服务名称},即注册服务的名称。注册服务弹出如下NSSM界面。

img

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nl64aZ77-1618201137260)(https://segmentfault.com/img/bV1hvC?w=435&h=234)]

5.Application标签设置:

  • Application Path: 选择系统安装的node.exe。
  • Startup directory: 选择nodejs项目的根目录。
  • Arguments: 输入启动参数,如默认的express项目的参数为./bin/www

6.上述步骤操作完成,即可点击Install service来注册服务。我们在系统的服务中即可找到刚刚注册的服务。
7.在系统服务中找到刚刚注册的服务,右键属性 - 恢复即可设置此服务挂掉重启等内容。

nssm常用命令:
nssm install servername //创建servername服务
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值