如何将批处理文件注册成服务在系统启动的时候自动调用

发布时间:2021-09-30 13:50:28 作者:小新
来源:亿速云 阅读:144

这篇文章给大家分享的是有关如何将批处理文件注册成服务在系统启动的时候自动调用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat.我想要达到的效果是:当系统启动的时候就自动调用startagent.bat脚本,于是开始网上寻求相关资料。

  1、首先由师兄提示可以使用系统命令sc实现

  sc create 服务名 binPath= .bat文件所在路径 start=auto

  (注意 =后面有空格,如果文件路径中含空格则使用引号引起来)

  具体的参数可以使用sc /?来查看。

  安装倒是挺顺利,管理/服务中出现了新安装的服务,但是启动的时候报错:

  "在本地计算机无法启动server服务,错误5:拒绝访问"

  删除服务的时候使用

  sc delete 服务名

  报错:"xxx服务已标记为删除"

  重新安装报错:

  "错误1053:服务没有及时响应启动或控制请求"

  尝试未果,又逢有网友说这种方式行不通,要想作为服务启动。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. 启动服务。

  (注意: 7与8不可或缺)

  在windows 服务管理器中看到定义的服务…

  问题时解决了, 然而出现了奇怪的2幕:

  A、 在服务中启动、关闭服务似乎无效,只有重启才会生效

  B、 配置文件每次都被还原了?(估计是源自自己的一次小修改,待查明… … )

  最终通过重建才解决B问题的, 为什么呢? 我的修改?… …

  删除一个自定义的服务呢?

  如果你要卸载一个本地服务,可以通过命令行输入如下命令

  sc delete ServiceName

  或者在直接修改注册表

  在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中删除相应的键值。

感谢各位的阅读!关于“如何将批处理文件注册成服务在系统启动的时候自动调用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. 如何将calico 2.6.1 更新成 3.11
  2. 通过JavaService 将java jar包注册成Windows 服务

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

批处理

上一篇:如何使用Shell脚本case语句

下一篇:如何使用批处理重置TCP_IP协议

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》