网站地图    收藏   

主页 > 系统 > windows >

将批处理文件注册成服务 - Windows操作系统 - 自学

来源:自学PHP网    时间:2015-04-17 17:13 作者: 阅读:

[导读] 将批处理文件注册成服务前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat。我想要达到的效果是:当系统启动的时候就自动调用startagent.bat脚...


将批处理文件注册成服务
 
前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat。我想要达到的效果是:当系统启动的时候就自动调用startagent.bat脚本,于是开始网上寻求相关资料。 
    www.2cto.com  
    1、首先由师兄提示可以使用系统命令sc实现 
  sc create 服务名 binPath= .bat文件所在路径 start=auto 
  (注意 =后面有空格,如果文件路径中含空格则使用引号引起来) 
  具体的参数可以使用sc /?来查看。 
 
   安装倒是挺顺利,管理/服务中出现了新安装的服务,但是启动的时候报错: 
  “在本地计算机无法启动server服务,错误5:拒绝访问” 
 
   删除服务的时候使用 
   sc delete 服务名 
   报错:“xxx服务已标记为删除" 
 
  重新安装报错: 
  ”错误1053:服务没有及时响应启动或控制请求“ 
  www.2cto.com  
尝试未果,又逢有网友说这种方式行不通,要想作为服务启动.bat文件得符合msdn上规定的特定格式的。 
 
  ——————————————尝试新的方案—————————————— 
采用instsrv.exe /srvany.exe 
 
用instsrv.exe /srvany.exe 注册windows 服务方法: 
1.  注册服务:   x:/xxx/instsrv   服务名   x:/xxx/srvany.exe(注意得使用"/") 
 
-------- 将srvany.exe 注册成系统服务 
 
2.               regedit打开注册表 
3.               进入HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/服务名 
4.               右键-新建-项   填入   Parameters 
5.               打开Parameters,右键-新建-字符串值   Application 
6.               双击Application   填入   应用程序的绝对路径,如:   E:/jboss-4.0.5.GA/bin/starteos.bat 
7.               右键-新建-字符串值AppDirectory 
8.               双击AppDirectory   填入   应用程序的工作目录,如:   E:/jboss-4.0.5.GA/bin 
 
----------- 通过srvany.exe 启动注册表中定义的.exe 应用 
 
9.               启动服务。 
  www.2cto.com  
(注意: 7与8不可或缺) 
 
在windows 服务管理器中看到定义的服务... 
 
   问题时解决了, 然而出现了奇怪的2幕: 
A、 在服务中启动、关闭服务似乎无效,只有重启才会生效 
B、 配置文件每次都被还原了?(估计是源自自己的一次小修改,待查明... ... ) 
  最终通过重建才解决B问题的, 为什么呢? 我的修改?... ... 
 
删除一个自定义的服务呢? 
如果你要卸载一个本地服务,可以通过命令行输入如下命令 
                       sc delete ServiceName 
或者在直接修改注册表 
                       在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中删除相应的键值.
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论