Windows创建用户定义的服务(srvany.exe和instsrv.exe )
http://www.cr173.com/soft/64394.html
要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。这两个软件都包含在Windows NT Resource Kit里,如果你没有,也可以在本站下载 instsrv.exe和 srvany.exe。
srvany.exe可用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。
如何使用:
当你获取到srvany后并决定将某程序作为服务启动后,请先将srvany安装为系统服务,具体的安装方法有很多,这里使用instsrv,语法如下:
安装 instsrv ServiceName C:\Windows\System32\srvany.exe 卸载 instsrv ServiceName remove
(ServiceName 即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。)
安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 - 运行 - regedit,打开注册表,定位到下面的路径。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
比如这里是个配置实例,我们这里配置的服务名称是NGINX,其余是nginx的安装配置情况。
收起
导入注册表的方法:
当然还有一个比较简单的做法,那就是将下面的文本保存为*.reg文件,然后双击导入注册表。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名称\Parameters]
"Application"="值为你要作为服务运行的程序地址"
"AppDirectory"="值为你要作为服务运行的程序所在文件夹路径"
"AppParameters"="值为你要作为服务运行的程序启动所需要的参数"
至此,MyService已经安装成windows服务了,在Window服务项中即可查看。
批处理说明:
1. run-install.bat 封装了安装服务的操作(上面有提到)。需要传入参数有服务名称,程序名称。
@echo off
rem 参数依次为 服务名称 可执行文件名称
@echo 服务名称:%1
@echo 程序名称:%2
rem 定义需要运行的程序路径
set curExe=%~dp0%2
rem 定义注册表路径
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
rem 定义srvany.exe文件路径
set sourcePath=%~dp0srvany.exe
rem 进入当前目录
cd /d "%~dp0"
rem 安装引导服务
instsrv %1 "%sourcePath%"
@echo 服务添加完成
rem 添加注册表语法: reg add 注册表路径 /v 项名称 /t 值类型 /d 数据 /f 表示强行修改不提示
rem 名称 Application 值为你要作为服务运行的程序地址 /d对应的参数有斜杠不是为了转义引号,而是路径还有斜杠,默认将引号转义了,额外添加斜杠是为了保留引号
reg add %regpath% /v AppDirectory /t REG_SZ /d "%~dp0\" /f
rem 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径
reg add %regpath% /v Application /t REG_SZ /d "%curExe%" /f
rem 名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数
reg add %regpath% /v AppParameters /t REG_SZ /f
@echo 注册表添加完成
2.install.bat 命令含义:进入当前目录,调用当前目录下的run-install.bat文件,并传入参数,完成服务安装。服务名:MyService 执行程序:Console.exe
@echo off
cd /d %~dp0
call run-install.bat MyService Console.exe
pause
3.run-del.bat 简单封装了卸载服务的操作,传入服务名称即可。
@echo off
rem 参数依次为 服务名称
@echo 服务名称:%1
rem 进入当前目录
cd /d %~dp0
rem 卸载引导服务
instsrv %1 remove
4.del.bat 命令含义:进入当前目录,调用当前目录下的run-del.bat文件,并传入参数,完成服务卸载。服务名:MyService
@echo off
cd /d %~dp0
call run-del.bat MyService
pause
另外一个 nssm
http://nssm.cc/
转载于:https://blog.51cto.com/tianshili/1729979
Windows创建用户定义的服务(srvany.exe和instsrv.exe )相关推荐
- 创建用户定义的数据类型
创建用户定义的数据类型可以使用 Transact-SQL 语句.系统存储过程 sp_addtype 可以来创建用户定义的数据类型.其语法形式如下: sp_addtype {type},[,syste ...
- android sqlite自定义函数,如何在SQLite中创建用户定义的函数?
SQLite不像Oracle或MS SQL Server那样支持用户定义的功能.对于SQLite,必须使用C / C ++创建一个回调函数,并使用sqlite3_create_function调用将该 ...
- 在jMeter里如何创建用户定义的能生成随机数的变量
使用jMeter进行API的并发请求测试时,我们经常需要生成一些包含随机数的数据,以此来区分每个随机请求. 在jMeter里,提供了很多预定义的函数可供我们使用.比如${__Random(1,100) ...
- python定义一个列表_如何在Python中创建用户定义的列表?
你需要将怪物的数量发送给使用它的函数:def welcome(): number = monsters() print('Alright, ' + str(number) + ' monsters.' ...
- atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux
atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过执行一个EXE就启动视窗系 ...
- 使用instsrv.exe+srvany.exe将应用程序安装为windows服务
一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这 ...
- 用instsrv.exe+srvany.exe将应用程序安装为windows服务
下载 链接:https://pan.baidu.com/s/1gKu_WwVo-TeWXmrGAr9qjw 提取码:s1vm 用instsrv.exe安装srvany.exe 将instsrv.exe ...
- db2 控制台执行创建函数语句_DB2中创建和使用SQL用户定义函数
本文将为您详细介绍DB2数据库中创建用户自定义行数,用以扩展扩展内置的 DB2 函数的方法,供您参考,希望对您有所帮助. 可以创建用户定义函数来扩展内置的 DB2 函数.例如,创建计算复杂的算术表达式 ...
- Instsrv.exe可以给系统安装和删除服务
最近一段时间我们公司开发一款新的产品,要在服务器上运行一个服务端程序,为了方便我就希望能将这个程序注册成系统服务开机自动启动而不用每次重启系统都要手动启动程序.经过baidu和google这两位大神的 ...
- OpenVAS漏洞扫描基础教程之创建用户
OpenVAS漏洞扫描基础教程之创建用户 OpenVAS管理服务 默认情况下,OpenVAS服务仅创建了一个名为admin的用户,而且是管理员用户(拥有最高的权限).如果想要其它客户端登陆的话,不可能 ...
最新文章
- 手机号中间四位处理为‘****’
- C++用二进制交换二个数的实现算法(附完整源码)
- Teamtalk源码分析
- 白硕 | 基于区块链的众包社区激励机制
- 240多个jquery插件
- uboot启动第一阶段——start.S
- PyTorch大更新!谷歌出手帮助开发,正式支持TensorBoard | 附5大开源项目
- Linux系统(二)常用命令、进程管理
- KTV用什么收银管理系统管店?
- VAR模型分析联合内生变量的动态关系
- mysql类exadata功能_EXADATA智能扫描
- Matlab版本svm工具箱,matlab libsvm工具箱
- python编程 个人所得税计算器
- 手游LTV(生命周期价值)计算公式
- java得到几天前的日期
- 磁盘空间满问题排查方法
- 再度盈利,搜狐稳了?
- 区块链软件公司:区块链到底能做啥?
- 攻防世界_江苏工匠杯_MISC_看雪看雪看雪
- Linux文件导入gitee仓库中