使用instsrv.exe和srvany.exe创建windows服务
2016-04-19 17:22
543 查看
srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非常实用,我们可以通过它让我们的程序以SYSTEM账户启动,或者实现随机器启动而自启动,也可以隐藏不必要的窗口,比如说控制台窗口等等。
将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,64位系统需要同时复制到C:\Windows\SysWow64\下,我们可以通过下面的命令行进行srvany.exe的服务安装卸载:
安装:instsrv
ServiceName C:\Windows\System32\srvany.exe
卸载:instsrv ServiceName remove
ServiceName即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。
安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 – 运行 – regedit,打开注册表,定位到下面的路径。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
同样的ServiceName是你刚才安装服务时自定义的服务名称。
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
启动服务正常运行。
正常情况下停止了srvany.exe的服务的话,srvany.exe和你的服务程序.exe进程应该会停止,到如果调用的是bat程序,bat里调用的程序不会停止。
我是把一个bat设置成了系统服务,bat里是php xxx.php,当停止了srvany.exe服务,需要在进程管理里结束掉php.exe。
将srvany.exe和instsrv.exe拷贝到C:\Windows\System32\后,64位系统需要同时复制到C:\Windows\SysWow64\下,我们可以通过下面的命令行进行srvany.exe的服务安装卸载:
安装:instsrv
ServiceName C:\Windows\System32\srvany.exe
卸载:instsrv ServiceName remove
ServiceName即你自己定义的服务名称,可以是要作为系统服务启动的应用程序的名称。
安装完毕后,我们需要对srvany.exe进行配置,以便于能够加载我们指定的程序,配置的方法是,开始 – 运行 – regedit,打开注册表,定位到下面的路径。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
同样的ServiceName是你刚才安装服务时自定义的服务名称。
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址。
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。
启动服务正常运行。
正常情况下停止了srvany.exe的服务的话,srvany.exe和你的服务程序.exe进程应该会停止,到如果调用的是bat程序,bat里调用的程序不会停止。
我是把一个bat设置成了系统服务,bat里是php xxx.php,当停止了srvany.exe服务,需要在进程管理里结束掉php.exe。
相关文章推荐
- leetcode——80——Remove Duplicates from Sorted Array II
- 最小生成树--Kruskal算法
- iOS应用程序打包
- spring依赖注入原理的简单模拟
- LINQ To DataSet 示例
- 跳转时候提示Attempt to present on while a presentation is in progress
- SqlServer查询表中各列名称、表中列数
- 公司开源框架技术连接
- Mysql join语句解析
- android开发之onCreate( )方法详解
- 图形统计报表EChart的使用
- VRRP技术详解
- Ajax实现简单下拉选项效果【推荐】
- WebLogic的部署模式:开发模式、生产模式区别及相互转换的方法
- ViewPager源码不完全解读
- nyoj 117 求逆序数
- 开启MYSQL主从同步备份
- 题目1522:包含min函数的栈
- 80. Remove Duplicates from Sorted Array II
- 武校学生